elkokc/reflector
GitHub: elkokc/reflector
一款 Burp Suite 扩展,通过自动识别和分析 HTTP 响应中的参数反射来实时检测反射型 XSS 漏洞。
Stars: 1213 | Forks: 172
# reflector [
](https://github.com/elkokc/reflector/releases/tag/2.1)
# 描述
该 Burp Suite 扩展能够在浏览网站时实时发现页面上的反射型 XSS,并包含以下功能:
* 在 response 标签页中高亮显示反射内容。
* 测试该反射中允许使用哪些符号。
* 分析反射的上下文。
* Content-Type 白名单。
# 如何使用
安装插件后,您只需要开始使用被测试的 Web 应用程序即可。每次发现反射时,reflector 都会定义严重级别并生成 burp issue。

每个 burp issue 都包含有关反射参数的详细信息,例如:
* 该反射中允许的符号。
* 在响应中高亮显示反射值。
* 反射上下文分析。
# 允许符号分析

当发现反射并且激活了“Aggressive mode”选项时,reflector 将检查易受攻击参数中的哪些特殊符号会显示在该页面上。为此操作,reflector 会为每个反射参数构造额外的请求。例如,当我们在 elkokc.ml 网站上工作时,reflector 生成了一个包含反射详细信息的 issue。“search”参数有 3 个反射,并且每个都传递了特殊符号。由于能够显示特殊字符,issue 的严重级别被标记为高。每次发现反射时,reflector 都会定义严重级别并生成 burp issue。
# 上下文分析
在“Check context”模式下,reflector 不仅会显示反射到页面上的特殊字符,还会找出允许在页面代码中破坏语法的字符。在示例中,您可以看到 reflector 扩展的服务器响应。“search”参数被发送时带有一个 payload - p@y<"'p@y。结果,它在不同上下文中被反射了多次。
* 包含以下字符的反射 - ',", <,双引号允许跳出该上下文并编写 HTML 代码。
* 包含以下字符的反射 - ", <,尖括号允许注入 HTML 标签。
* 包含以下字符的反射 - ',", <,单引号允许跳出 js 变量上下文并编写恶意代码。

在 issue 信息中,它被标记为:
* Context char - 允许破坏语法的字符。
* Other chars - 不带上下文反射的其他字符。

# 反射导航
通过 response 标签页中的箭头按钮进行导航。

# 设置
* Scope only - 允许 reflector 仅处理添加到 scope 中的网站。
* Agressive mode - reflector 会生成带有测试 payload 的额外请求。
* Check context - 激活上下文检查模式。
此外,您可以管理 reflector 插件应处理的 content-types 白名单。但是,如果您使用除 text/html 之外的其他类型,可能会导致工作速度变慢。

# 如何编译
使用 jdk 1.7 编译
示例:
* javac.exe -d build src/burp/*.java
* jar.exe cf plugin.jar -C build burp
# 作者
* Shvetsov Alexandr (GitHub: )
* Dimitrenko Egor (GitHub: )
标签:Burp Suite插件, JS文件枚举, Web安全, XSS检测, XXE攻击, 域名枚举, 蓝队分析