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漏洞的存在和解决的复杂性。
➡️

继续阅读