xss-labs 靶场详细攻略(附常用payload)
💡
原文中文,约17000字,阅读约需41分钟。
📝
内容提要
跨站脚本攻击(XSS)是一种注入攻击,攻击者将恶意脚本插入网页,用户访问时执行。xss-labs是一个学习XSS的靶场,通过逐关挑战,学习者需掌握各种payload技巧以绕过不同的过滤机制。
🎯
关键要点
- 跨站脚本攻击(XSS)是一种注入攻击,攻击者将恶意脚本插入网页,用户访问时执行。
- xss-labs是一个学习XSS的靶场,通过逐关挑战,学习者需掌握各种payload技巧以绕过不同的过滤机制。
- 第一关通过直接注入payload来弹出窗口,进入下一关。
- 第二关需要闭合前面的payload以绕过转义。
- 第三关利用htmlspecialchars函数防止浏览器将输入作为HTML元素,使用onclick属性触发弹窗。
- 第四关增加了对尖括号的过滤,仍然可以通过特定payload绕过。
- 第五关过滤了on和<script>,但可以用其他payload绕过。
- 第六关通过大小写过滤,仍然可以绕过。
- 第七关通过双写绕过过滤。
- 第八关使用HTML字符实体绕过黑名单过滤。
- 第九关要求输入必须包含http://,典型的白名单过滤。
- 第十关需要查看浏览器代码,修改hidden类型的输入框。
- 第十一关通过referer头注入payload。
- 第十二关和第十三关类似,利用User-Agent和cookie头注入payload。
- 第十四关涉及Exif信息的隐写,使用图片马进行攻击。
- 第十五关使用AngularJS的ng-include指令进行文件包含攻击。
- 第十六关通过空格过滤绕过,使用%0d和%0a作为替代。
- 第十七关和第十八关通过拼接绕过过滤,利用外部SWF文件。
- 第十九关涉及Flash XSS,使用反编译技术。
- 第二十关需要反编译能力,使用复杂的payload。
- 总结了多种payload的使用方法和绕过技巧,强调XSS漏洞的存在和解决的复杂性。
➡️