xss-labs 通关教程

xss-labs 通关教程

💡 原文中文,约6900字,阅读约需17分钟。
📝

内容提要

XSS-Labs是一套基于PHP的XSS靶场,共有20关,通过闯关的方式体验各种XSS漏洞利用方式。文章介绍了前几关的XSS漏洞利用方式,包括文本解析为HTML、input标签value注入、htmlspecialchars()的弱点等。同时提到了XSS攻击的注入点和执行JS代码的方式。

🎯

关键要点

  • XSS-Labs是一套基于PHP的XSS靶场,共有20关,体验各种XSS漏洞利用方式。
  • 前两关是XSS基本原理的应用,没有防御措施。
  • 第一关通过文本解析为HTML,成功注入<script>alert(1);</script>。
  • 第二关利用input标签的value注入,发现value值未被转义。
  • 第三关探讨htmlspecialchars()的弱点,PHP 8.1.0以下版本未转义单引号。
  • 第四关未过滤双引号,利用onmouseover属性注入JavaScript。
  • 第五关利用href属性的URI特性,注入JavaScript代码。
  • 第六关通过大小写区分绕过字符过滤,成功注入JavaScript。
  • 第七关利用字符串替换的漏洞,双写关键词绕过过滤。
  • 第八关使用HTML字符实体绕过javascript的过滤。
  • 第九关通过注释绕过简单的合法链接检测。
  • 第十关通过隐藏表单字段注入JavaScript代码。
  • 第十一关通过Referer字段注入JavaScript代码。
  • 第十二关通过自定义浏览器UA注入JavaScript代码。
  • 第十三关通过设置Cookie注入JavaScript代码。
  • 第十四关尝试在exif信息中注入payload。
  • 第十六关利用换行符代替空格,成功注入JavaScript。
  • 第十五关利用Angular ng-include引入可执行的HTML。
  • 第十七到二十关利用Flash,现已失去意义。
  • XSS攻击依然广泛存在,核心在于找到注入点并执行JavaScript代码。
➡️

继续阅读