本文阅读大约需要45分钟;
XSS攻击,作为Web安全领域的经典攻击方式,一直是红队成员的必备技能,也是我们渗透测试和攻击行动中的利器。回首近10年,我见证了XSS攻击的演变和升级,从最初简单的弹窗攻击,到如今巧妙利用浏览器特性和各种框架漏洞的复杂攻击,攻击手法层出不穷,令人叹为观止。面对种类繁多的XSS攻击工具,如何选择合适的工具,才能在实战中发挥最大威力?
以下我将结合红队经验,从实战角度出发,将 30 款XSS工具按照红队实战常用的攻击阶段和应用场景进行分类,并辅以每一款工具的深入解析,帮助红队成员更好地理解和使用这些工具,提升攻击效率。 也为开发者提供参考, 帮助他们更好地防御 XSS 攻击。
XSS工具分类:
一、信息收集与漏洞发现阶段 |
||
|
|
|
1. XSStrike |
先进的XSS 扫描器,速度快,准确率高。 |
|
2. Dalfox |
基于Golang的参数分析和XSS扫描工具,快速高效,易于使用。 |
|
3. Xsser |
自动化框架,用于检测、利用和报告基于Web 应用程序中的XSS漏洞,功能全面但更新较慢。 |
|
4. XSpear |
功能强大的 XSS 扫描和参数分析工具,速度快,支持多种 Payload。 |
|
5. XSS-Radar |
一款检测参数并对其进行模糊测试的工具, 快速简单, 适合大规模扫描。 |
|
6. Xssmap |
基于Python 3开发的工具,用于检测XSS漏洞, 功能完善,支持多种攻击方式。 |
|
7. XSSCon |
一款简单的XSS扫描工具易于使用适合初学者。 |
|
手动测试工具: |
用于手动测试 XSS 漏洞,验证漏洞是否存在,并收集更多信息。 |
|
1. Xssor2 |
使用JavaScript代码进行攻击,可以绕过一些简单的WAF规则。 |
|
2. ezXSS |
为渗透测试人员和漏洞挖掘提供一种简便的方法来测试盲XSS漏洞。 |
|
3. Tracy |
用于协助查找Web应用程序中所有接收器和源的工具,并以易于理解的方式显示这些结果,方便手动测试DOM-basedXSS漏洞。 |
|
4.Dom-based-xss-finder |
Chrome扩展程序,可查找基于DOM的XSS漏洞,适用于手动测试DOM-based XSS 漏洞。 |
|
5.XSSwagger |
一款Swagger-ui扫描器,可以检测到易受各种XSS攻击的旧版本SwaggerUI,适用于测试SwaggerUI的XSS漏洞。 |
|
二、 漏洞利用阶段 |
||
Payload生成器 : |
生成各种类型的XSS Payload,例窃取Cookie 的Payload、重定向到恶意网站的Payload、执行任意 JavaScript 代码的Payload等。 |
|
1.sleepy-puppy |
Sleepy Puppy XSS攻击载荷管理框架,可以管理和测试 XSS Payload。 |
|
2.weaponised-XSS-payloads |
XSS 攻击载荷,旨在将警报(1)转换为P1, 包含多种绕过 WAF 的Payload。 |
|
XSS漏洞利用工具: |
用于利用XSS漏洞,例如获取用户Cookie、控制用户浏览器、执行任意 JavaScript 代码等。 |
|
1.Xsshunter |
XSS Hunter 服务,用于收集和管理XSS攻击触发的Payload 数据,方便进行后续的攻击利用。 |
|
2.Ground-control |
一组运行在我的Web服务器上的脚本,主要用于调试 SSRF、盲XSS和XXE漏洞,可以收集XSS攻击触发的 Payload 数据。 |
|
3.XssValidator |
一个Burp Intruder 扩展,专为XSS漏洞的自动化和验证而设计,可以用于自动化利用 XSS 漏洞。 |
|
4.JSShell |
一个交互式的多用户Web JS Shell,可以用来控制用户浏览器, 执行任意 JavaScript 代码。 |
|
5.BXSS |
一款可供漏洞挖掘和组织用于识别盲跨站脚本攻击的实用程序, 可以自动化测试盲 XSS 漏洞。 |
|
6.Femida |
Burp Suite的自动化盲XSS搜索工具, 可以自动化测试盲 XSS 漏洞。 |
|
7.BitBlinder |
Burp Suite扩展,用于在每个表单/请求提交时注入自定义跨站点脚本攻击载荷,以检测盲XSS漏洞。 |
|
8.XSSOauthPersistence |
通过XSS和OAuth维护帐户持久性, 利用OAuth授权机制, 获取用户的 Token, 实现长期控制。 |
|
9.Shadow-workers |
一个免费开源的C2 和代理,旨在帮助渗透测试人员利用 XSS 和恶意服务工作线程 (SW),可以建立隐蔽的 C2 通信通道,控制受感染的浏览器。 |
|
10.Xss-flare |
Cloudflare无服务器工作线程上的 XSS 猎人,可以绕过一些 WAF 的IP地址限制, 并提供数据收集功能。 |
|
11.Xss2png |
|
|
三、 特定场景下的 XSS 工具 |
||
1.Docem |
一款用于在 .docx、.odt、.pptx 等文件中嵌入XXE和 XSS 攻击载荷的实用程序,适用于利用文件格式漏洞进行 XSS 攻击。 |
|
2.Xss-Sql-Fuzz |
|
|
四、 其他工具 |
||
1.Rexsser |
Burp 插件,使用正则表达式从响应中提取关键字,并在目标范围内测试反射型 XSS,适用于测试反射型 XSS 漏洞。 |
|
2.Findom-xss |
一款快速且简单的基于 DOM 的 XSS 漏洞扫描器,适用于扫描基于 DOM 的 XSS 漏洞。 |
|
3.Domdig |
针对单页应用程序的 DOM XSS 扫描器, 适用于扫描单页应用中的 DOM XSS 漏洞。 |
XSS工具深度解析:
一、信息收集与漏洞发现阶段
自动化扫描器:用于用于快速扫描网站,发现潜在的 XSS 漏洞, 为后续的攻击提供目标。
1. XSStrike
-
设计理念:一个功能强大、速度快、准确率高的 XSS 扫描器,能够自动发现各种类型的 XSS 漏洞。
-
定位: 一款先进的XSS漏洞扫描器,适用于Web应用安全测试和漏洞挖掘。
-
作用: 自动扫描Web应用,识别潜在的XSS漏洞,并能生成详细的漏洞报告。
-
发版时间: 2017 年
-
更新状态:定期更新
功能特点:
-
多引擎扫描:使用多个扫描引擎,提高扫描的覆盖率。
-
上下文分析:分析 JavaScript 代码的上下文,提高扫描的准确率。
-
Payload 生成:内置Payload生成器,可以生成各种类型的 XSS Payload。
-
爬虫功能:可以自动爬取网站的所有页面,进行全面的 XSS 漏洞扫描。
-
支持headless浏览器: 可以使用headless浏览器进行扫描,避免触发 JavaScript反爬虫机制。
-
优势: 功能强大、速度快、准确率高、易于使用。
-
缺点: 需要安装额外的依赖库。
-
建议使用节点/阶段:渗透测试的信息收集和漏洞扫描阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景:扫描大型 Web 应用, 发现隐藏的 XSS 漏洞。
-
关键点:使用 XSStrike 的爬虫功能,可以自动爬取网站的所有页面,并进行全面的 XSS 漏洞扫描。
-
推荐理由:XSStrike 是一款功能强大、速度快、准确率高的XSS漏洞扫描器,可以帮助红队快速发现目标网站的 XSS漏洞,并提供详细的漏洞信息。
-
推荐指数:★★★★★
https://github.com/s0md3v/XSStrike
2. Dalfox
-
设计理念:一款快速、高效、易于使用的XSS扫描器,专注于参数分析和 XSS 漏洞检测。
-
定位:一款基于Golang 的 XSS漏洞扫描器, 适用于Web应用安全测试和漏洞挖掘。
-
作用:自动扫描Web 应用,分析URL参数和表单参数,并使用各种 Payload 进行测试,识别潜在的 XSS 漏洞。
-
发版时间: 2020 年
-
更新状态:定期更新
功能特点:
-
支持多种请求方法:支持 GET、POST、PUT、DELETE 等多种请求方法。
-
支持自定义 Payload:可以根据目标网站的实际情况,自定义XSS Payload。
-
支持 Grep 过滤:可以根据特定的关键词,过滤扫描结果。
-
支持 JSON 输出:可以将扫描结果输出为 JSON 格式,方便后续分析。
-
支持 Burp Suite 集成:可以将 dalfox 集成到 Burp Suite 中,方便进行 XSS 漏洞测试。
-
优势:速度快、易于使用、支持多种攻击方式。
-
缺点:功能相对简单,不如 XSStrike 强大。
-
建议使用节点/阶段:渗透测试的漏洞扫描阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景:对 Web 应用进行快速的 XSS 漏洞扫描。
-
关键点:使用 dalfox 的自定义 Payload 功能,可以根据目标网站的实际情况,构造更有效的 XSS Payload。
-
推荐理由:dalfox 是一款轻量级的 XSS 漏洞扫描器, 易于使用, 速度快, 适合进行快速扫描。
-
推荐指数:★★★★
-
https://github.com/hahwul/dalfox
3. Xsser
-
设计理念: 打造一个功能强大、灵活、可扩展的 XSS 漏洞利用框架,提供多种攻击方式和 Payload 生成工具,方便攻击者进行 XSS 攻击。
-
定位: 一款基于 Python 的 XSS 漏洞利用框架,适用于Web应用安全测试、 漏洞挖掘以及 XSS 攻击研究。
-
作用: 自动检测、利用和报告Web应用中的 XSS 漏洞,并提供多种攻击方式和 Payload 生成工具,方便攻击者进行 XSS 攻击。
-
发版时间:2007 年
-
更新状态:已停止更新
功能特点:
-
支持多种攻击方式:支持反射型 XSS、存储型 XSS、DOM-based XSS 等多种攻击方式。
-
支持多种 Payload 生成方法:可以生成各种类型的XSS Payload,例如, 窃取Cookie的Payload、重定向到恶意网站的Payload、执行任意 JavaScript代码的 Payload 等。
-
支持 fuzzing 测试:可以对Web应用的参数进行fuzzing测试,发现潜在的 XSS漏洞。
-
支持代理服务器:可以使用代理服务器隐藏攻击者的 IP 地址。
-
优势: 功能强大、灵活、可扩展、支持多种攻击方式。
-
缺点:已停止更新,部分功能可能无法正常使用。
-
建议使用节点/阶段:渗透测试的漏洞利用阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景: 利用已知的 XSS 漏洞,对目标网站进行攻击。
-
关键点:使用 xsser 的 Payload 生成工具,可以生成各种类型的 XSS Payload, 例如,窃取Cookie的Payload、重定向到恶意网站的 Payload、 执行任意 JavaScript 代码的 Payload 等。
-
推荐理由: xsser 是一款功能强大的 XSS 漏洞利用框架, 可以帮助攻击者快速利用已知的 XSS 漏洞, 并进行各种攻击。
-
推荐指数:★★★
https://github.com/epsylon/xsser
4 XSpear
-
设计理念:一款自动化、高效、精准地发现和利用 Web 应用中的 XSS 漏洞。它结合了参数分析和多种 Payload测试技术,能够快速识别潜在的 XSS 漏洞, 并提供详细的漏洞信息,方便红队成员进行后续的攻击利用。
-
定位:XSpear 是一款功能强大的 XSS 扫描和参数分析工具,适用于 Web 应用安全测试、漏洞挖掘以及安全研究人员。它可以帮助红队成员快速发现和利用 Web 应用中的 XSS 漏洞, 提升攻击效率。
-
作用:XSpear 可以自动扫描目标网站, 发现潜在的 XSS 漏洞,分析 Web 应用的 URL 参数和表单参数,并支持多种 XSS Payload,验证漏洞是否存在。还可以生成 XSS 利用代码, 方便红队成员进行后续的攻击利用,例如窃取 Cookie、 重定向到恶意网站等。
-
发版时间: 2021 年
-
更新状态: 定期更新
功能特点:
-
支持多种 Payload: XSpear 内置了大量经过精心挑选的 XSS Payload, 覆盖了各种攻击场景, 并支持自定义 Payload。
-
参数分析:XSpear 可以自动识别和分析Web应用的参数,并针对每个参数进行测试。
-
多种扫描模式: XSpear支持多种扫描模式,例如快速扫描、全面扫描、自定义扫描等, 可以根据不同的需求选择合适的扫描模式。
-
易于使用:XSpear提供了简单易用的命令行界面和图形化界面,即使是初学者也能快速上手。
-
支持多种编码方式:XSpear支持多种编码方式,例如 URL 编码、HTML 实体编码、Unicode 编码等, 可以绕过一些简单的 WAF 规则。
-
详细的漏洞报告:XSpear可以生成详细的漏洞报告,包括漏洞类型、漏洞位置、攻击 Payload 等信息,方便红队成员进行后续的分析和利用。
-
优势:速度快、准确性高、易用性、可扩展。
-
缺点:
依赖于第三方库:XSpear需要安装一些第三方Python 库,例如requests、 beautifulsoup4 等。
部分 Payload 可能被 WAF 拦截:对于一些配置严格的 WAF,XSpear 的部分 Payload 可能会被拦截。
-
建议使用节点/阶段:渗透测试的漏洞扫描阶段。
最能体现这款工具使用价值的场景和关键点
-
场景:红队成员需要快速扫描目标网站,发现潜在的 XSS 漏洞,并收集漏洞信息。
-
关键点:使用XSpear的自动化扫描功能,可以快速扫描目标网站,并识别潜在的 XSS 注入点。XSpear 提供的多种 Payload 和编码方式,可以帮助红队成员绕过一些简单的 WAF 规则,并验证漏洞是否存在。XSpear 生成的详细漏洞报告,包括漏洞类型、漏洞位置、攻击 Payload等信息,方便红队成员进行后续的分析和利用。
-
推荐理由:XSpear 是一款功能强大的 XSS 扫描和参数分析工具,速度快,支持多种 Payload,可以帮助红队成员快速发现和利用 Web 应用中的 XSS 漏洞。它易于使用,即使是初学者也能快速上手,并且支持多种扫描模式和编码方式,可以适应不同的测试需求。它提供了详细的漏洞报告,方便红队成员进行后续的分析和利用。
-
推荐指数: ★★★★★
-
https://github.com/hahwul/XSpear
5. XSS-Radar
-
设计理念: 自动检测 Web 应用的 URL 参数,并使用各种 Payload 对其进行测试,以发现 XSS 漏洞。
-
定位: 一款命令行 XSS 漏洞扫描工具,适用于渗透测试人员和漏洞挖掘。
-
作用: 自动检测 Web 应用的 URL 参数,并使用各种 Payload 对其进行测试,以发现 XSS 漏洞。
-
发版时间: 2019 年
-
更新状态: 定期更新
功能特点:
-
支持多种 Payload 类型:支持反射型 XSS、存储型 XSS、DOM-based XSS 等多种 Payload 类型。
-
支持自定义 Payload: 可以根据目标网站的实际情况,自定义 XSS Payload。
-
支持 Payload 编码:可以对 Payload 进行 URL 编码、 HTML 实体编码等编码, 以绕过 WAF 的过滤规则。
-
支持并发扫描:可以同时扫描多个 URL 参数, 提高扫描效率。
-
支持结果导出:可以将扫描结果导出为 HTML、 CSV、 JSON 等格式。
-
优势:自动化测试、速度快、功能丰富。
-
缺点: 需要安装 Node.js 环境才能使用。
-
建议使用节点/阶段:渗透测试的漏洞扫描阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景: 安全测试人员需要对目标网站进行全面的 XSS 漏洞扫描。
-
关键点: 使用 XSS-Radar可以自动化 XSS 漏洞的扫描过程,并可以自定义 Payload 和编码方式,提高扫描的准确性和效率。
-
推荐理由:XSS-Radar 是一款功能强大、速度快、使用方便的 XSS 漏洞扫描工具,可以帮助安全测试人员快速发现 XSS 漏洞。
-
推荐指数:★★★★
-
https://github.com/xsstrike/XSS-Radar
6. Xssmap
-
设计理念:提供一个 Python 库,用于自动检测和利用 XSS 漏洞。
-
定位:一款基于 Python 3开发的XSS漏洞扫描和利用工具,适用于渗透测试人员和安全研究人员。
-
作用:xssmap 可以自动扫描目标网站,发现潜在的 XSS 漏洞, 并尝试利用这些漏洞。xssmap 支持多种攻击方式,例如反射型 XSS、存储型 XSS、DOM-based XSS 等,并可以根据目标网站的实际情况,自定义 Payload 和编码方式。
-
发版时间:2019 年
-
更新状态: 定期更新
功能特点:
-
支持多种攻击方式:支持反射型 XSS、存储型 XSS、DOM-based XSS 等多种攻击方式。
-
支持自定义 Payload:可以根据目标网站的实际情况,自定义 XSS Payload。
-
支持 Payload 编码:可以对Payload进行URL编码、HTML实体编码等编码,以绕过 WAF 的过滤规则。
-
支持并发扫描:可以同时扫描多个目标网站,提高扫描效率。
-
支持 API 调用:可以通过 API 调用 xssmap 的功能,方便集成到其他工具中。
-
优势:功能强大、灵活、可扩展、支持 API 调用。
-
缺点:需要安装 Python 3 环境才能使用。
-
建议使用节点/阶段:渗透测试的漏洞扫描和利用阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景:攻击者需要对多个目标网站进行 XSS 漏洞扫描,并尝试利用发现的漏洞。
-
关键点:使用 xssmap 可以自动化 XSS 漏洞的扫描和利用过程,并可以自定义 Payload 和编码方式,提高扫描的准确性和效率。
-
推荐理由:xssmap 是一款功能强大、 使用灵活的 XSS 漏洞扫描和利用工具, 可以帮助安全测试人员快速发现和利用 XSS 漏洞。
-
推荐指数:★★★★
-
https://github.com/guelfoweb/xssmap
7. XSSCon
-
设计理念: 提供一款简单易用的命令行工具,用于快速扫描目标网站的 XSS 漏洞。
-
定位:一款命令行 XSS 漏洞扫描工具,适用于渗透测试的初学者和安全爱好者。
-
作用: XSSCon 可以自动向目标网站发送包含 XSS Payload 的请求,并根据网站的响应判断是否存在 XSS 漏洞。
-
发版时间:2017 年
-
更新状态: 不活跃
功能特点:
-
使用简单:只需要提供目标网站的 URL 地址即可进行扫描。
-
支持多种 Payload 类型:内置了一些常见的 XSS Payload,也可以自定义 Payload。
-
支持代理服务器:可以使用代理服务器隐藏攻击者的 IP 地址。
-
优势: 使用简单、 速度快。
-
缺点: 功能相对简单,不如其他 XSS 扫描工具强大。
-
建议使用节点/阶段:渗透测试的信息收集阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景:安全测试人员需要对目标网站进行快速 XSS 漏洞扫描。
-
关键点:使用 XSSCon 可以快速扫描目标网站,识别潜在的XSS 漏洞。
-
推荐理由:XSSCon 是一款简单易用的 XSS 漏洞扫描工具,适合初学者使用。
-
推荐指数:★★
-
https://github.com/menkrep1337/XSSCon
手动测试工具:用于手动测试XSS漏洞,验证漏洞是否存在,并收集更多信息。
1. xssor2
-
设计理念:利用 JavaScript 实现 XSS 攻击,可以绕过一些基于规则的 WAF 防护。
-
定位:一款基于JavaScript的 XSS 攻击工具,适用于手动测试 XSS 漏洞。
-
作用: 在浏览器中执行JavaScript代码,将 XSS Payload 注入到目标网站,并触发XSS攻击。
-
发版时间:2015 年
-
更新状态:已停止更新
功能特点:
-
使用 JavaScript 代码实现,可以绕过一些基于规则的 WAF 防护。
-
支持多种攻击方式,例如反射型 XSS、存储型 XSS、DOM-based XSS 等。
-
支持自定义 Payload,可以根据目标网站的实际情况,构造更有效的 XSS Payload。
-
支持 URL 编码、HTML实体编码等编码方式,可以绕过一些简单的输入过滤机制。
优势:使用JavaScript代码实现,可以绕过一些基于规则的WAF防护, 灵活方便, 不需要安装额外的软件。
-
缺点:功能相对简单, 需要手动构造 XSS Payload。
-
建议使用节点/阶段:渗透测试的手动 XSS 测试阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景:WAF拦截了XSS Payload中的某些关键字,导致攻击失败。
-
关键点:使用 xssor2 可以将 XSS Payload 转换为 JavaScript 代码, 并使用 URL 编码或 HTML 实体编码进行混淆, 从而绕过 WAF 的过滤规则。
-
推荐理由:xssor2 是一款灵活的 XSS 攻击工具, 可以帮助安全测试人员绕过一些简单的 WAF 防护措施。
-
推荐指数:★★★
https://github.com/evilcos/xssor2
2. EZXSS
-
设计理念:提供一种简单易用的方法来测试 XSS 漏洞, 即使是对 XSS 攻击不太了解的用户也可以轻松上手。
-
定位: 一款在线的 XSS 漏洞测试工具, 适用于渗透测试人员、 漏洞挖掘以及安全爱好者。
-
作用: 提供一个 XSS Payload 测试平台, 用户只需要输入 Payload 代码, 就可以生成一个测试链接, 并将该链接发送给目标用户, 如果目标用户点击了该链接, 并且目标网站存在 XSS 漏洞, 那么 Payload 就会在用户的浏览器中执行。
-
发版时间:2018 年
-
更新状态:定期更新
功能特点:
-
简单易用:不需要安装任何软件,只需要访问网站即可使用。
-
支持多种 Payload 类型:支持反射型 XSS、存储型 XSS、DOM-based XSS 等多种 Payload 类型。
-
支持自定义 Payload:可以根据目标网站的实际情况, 自定义 XSS Payload。
-
支持 URL 短链接:可以将生成的测试链接缩短, 方便传播。
-
优势:简单易用、 快速便捷。
-
缺点: 功能相对简单, 不如其他专业 XSS 测试工具强大。
-
建议使用节点/阶段: 渗透测试的漏洞验证阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景: 快速验证 XSS 漏洞是否存在, 并进行简单的攻击测试。
-
关键点: 使用 EZXSS 可以快速生成 XSS 测试链接,并将该链接发送给目标用户, 验证 XSS 漏洞是否存在。
-
推荐理由: EZXSS 是一款简单易用的在线 XSS 漏洞测试工具, 适合进行快速验证和简单攻击测试。
-
推荐指数:★★★
https://ezxss.net/
3.Tracy
-
设计理念:帮助开发者和安全测试人员查找Web应用程序中的 JavaScript 事件处理程序,这些事件处理程序可能存在 XSS 漏洞。
-
定位: 一款 JavaScript 事件处理程序分析工具,适用于 Web 应用安全测试和漏洞挖掘。
-
作用:分析 Web 应用程序的 HTML 代码,识别所有 JavaScript 事件处理程序,并以易于理解的方式展示这些结果。安全测试人员可以根据这些结果,重点测试可能存在 XSS 漏洞的事件处理程序。发版时间: 2018 年更新状态:不活跃
功能特点:
-
支持多种浏览器:支持 Chrome、Firefox、Safari 等主流浏览器。
-
支持 JavaScript 代码分析:可以分析 JavaScript 代码,识别潜在的 XSS 漏洞。
-
结果可视化:可以将分析结果以图表、 列表等形式展示出来, 方便用户查看。
-
优势:使用方便、直观、可以帮助安全测试人员快速识别潜在的XSS漏洞。
-
缺点:项目不再更新,依赖于浏览器扩展程序,可能存在兼容性问题。
-
建议使用节点/阶段:渗透测试的信息收集阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景: 安全测试人员需要快速识别 Web 应用中可能存在 XSS 漏洞的 JavaScript 事件处理程序。
-
关键点:使用tracy可以分析Web应用的HTML代码,识别所有JavaScript 事件处理程序,并以易于理解的方式展示这些结果。安全测试人员可以根据这些结果,重点测试可能存在 XSS 漏洞的事件处理程序。
-
推荐理由:tracy 是一款易于使用的 JavaScript 事件处理程序分析工具,可以帮助安全测试人员快速识别潜在的 XSS 漏洞。
-
推荐指数:★★★
https://github.com/nccgroup/tracy
4. Dom-based-xss-finder
-
设计理念:帮助安全测试人员发现基于 DOM 的 XSS 漏洞,这些漏洞通常难以被传统的 XSS 扫描器检测到。
-
定位:一款 Chrome 浏览器扩展程序,适用于渗透测试人员和漏洞赏金猎人。
-
作用:dom-based-xss-finder 可以监控浏览器中的 JavaScript 代码执行情况,并识别潜在的基于 DOM 的 XSS 漏洞。当发现潜在漏洞时,该扩展程序会发出警报,并提供漏洞的详细信息,例如漏洞代码的位置、触发漏洞的用户输入等。
-
发版时间: 2016 年
-
更新状态:不活跃
功能特点:
-
实时监控: 实时监控浏览器中的 JavaScript 代码执行情况,及时发现潜在的漏洞。
-
精准定位:可以精确定位漏洞代码的位置,方便开发者进行修复。
-
易于使用:作为 Chrome 浏览器扩展程序,安装和使用都很方便。
-
优势:实时监控、精准定位、易于使用。
-
缺点: 项目不再更新,只适用于 Chrome 浏览器。
-
建议使用节点/阶段:渗透测试的手动 XSS 测试阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景: 安全测试人员需要手动测试 Web 应用的基于 DOM 的 XSS 漏洞。
-
关键点: 使用 dom-based-xss-finder 可以实时监控浏览器中的 JavaScript 代码执行情况,并识别潜在的基于 DOM 的 XSS 漏洞。
-
推荐理由:dom-based-xss-finder 是一款专业的基于 DOM 的 XSS 漏洞扫描工具,可以帮助安全测试人员发现传统扫描器难以发现的漏洞。
-
推荐指数:★★★
-
https://chrome.google.com/webstore/detail/dom-based-xss-finder/cbljdahcejkgenfglkhgcnaaikijdgjm
5. XSSwagger
-
设计理念:利用 Swagger UI 的漏洞,进行 XSS 攻击。
-
定位:一款简单的 Swagger-ui 扫描器,适用于渗透测试人员和漏洞赏金猎人。
-
作用:扫描 Swagger UI 接口文档,识别可能存在 XSS 漏洞的旧版本 Swagger UI, 并尝试利用这些漏洞。
-
发版时间: 2018 年
-
更新状态: 不活跃
功能特点:
-
针对性强:专门针对 Swagger UI 进行扫描。
-
使用简单:只需要提供 Swagger UI 的 URL 地址即可进行扫描。
-
优势:针对性强、使用简单。
-
缺点:项目不再更新,只适用于旧版本的 Swagger UI。
-
建议使用节点/阶段: 渗透测试的漏洞扫描阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景:目标网站使用 Swagger UI 来展示 API 接口文档, 并且 Swagger UI 的版本较旧,存在 XSS 漏洞。
-
关键点:使用 XSSwagger 扫描目标网站的 Swagger UI 接口文档, 可以快速识别 XSS 漏洞, 并进行利用。
-
推荐理由:XSSwagger 是一款简单易用的 Swagger-ui 扫描器, 可以帮助安全测试人员快速发现 Swagger UI 的 XSS 漏洞。
-
推荐指数:★★★
-
https://github.com/s0md3v/XSSwagger
二、漏洞利用阶段
XSS Payload 生成器: 用于生成各种类型的 XSS Payload,例如窃取 Cookie 的 Payload、重定向到恶意网站的Payload、执行任意 JavaScript 代码的 Payload 等。
1. sleepy-puppy
-
设计理念:提供一个简单易用的 XSS Payload 管理框架,方便攻击者管理和测试 XSS Payload。
-
定位: 一款基于Python 的 XSS Payload 管理框架,适用于渗透测试人员和漏洞赏金猎人。
-
作用: 提供一个命令行界面,方便用户管理和测试 XSS Payload,以及一个 Web 界面,方便用户查看和分享 XSS Payload。
-
发版时间: 2017 年
-
更新状态: 不活跃
功能特点:
-
支持多种 Payload 类型:支持反射型 XSS、 存储型 XSS、 DOM-based XSS 等多种 Payload 类型。
-
支持自定义Payload:可以根据目标网站的实际情况,自定义XSS Payload。
-
支持Payload编码:可以对Payload 进行 URL 编码、 HTML 实体编码等编码, 以绕过 WAF 的过滤规则。
-
支持Payload测试:可以对 Payload 进行测试, 验证其有效性。
-
支持Payload共享:可以将 Payload 共享给其他用户。
-
优势: 简单易用、 功能丰富、 支持 Payload 编码和测试。
-
缺点:项目不再更新。
-
建议使用节点/阶段:渗透测试的漏洞利用阶段。
最能体现这款工具使用价值的场景和关键点(示例):
-
场景: 攻击者需要对多个 Web 应用进行 XSS 攻击测试, 并需要管理和测试大量的 XSS Payload。
-
关键点:使用 sleepy-puppy 可以方便地管理和测试 XSS Payload,并可以根据目标网站的实际情况,自定义Payload和编码方式。
-
推荐理由:sleepy-puppy 是一个功能丰富的 XSS Payload 管理框架, 可以帮助攻击者提高 XSS 攻击效率。
-
推荐指数: ★★★
https://github.com/Netflix-Skunkworks/sleepy-puppy
2. weaponised-XSS-payloads
-
设计理念:提供一系列精心构造的 XSS Payload,旨在绕过 WAF 的防御机制,并最大程度地利用 XSS 漏洞。
-
定位: 一个 XSS Payload 库,适用于渗透测试人员和漏洞挖掘。
-
作用:提供各种类型的 XSS Payload,例如,窃取 Cookie 的 Payload、重定向到恶意网站的 Payload、执行任意JavaScript 代码的 Payload 等。
-
发版时间:2020 年
-
更新状态:定期更新
功能特点:
-
Payload 经过精心构造:可以绕过一些常见的 WAF 规则。
-
Payload 类型丰富:涵盖了各种 XSS 攻击场景。
-
Payload 易于使用:可以直接复制粘贴到攻击工具中使用。
优势:Payload 有效性高、 使用方便。
-
缺点:Payload 库的规模相对较小。
-
建议使用节点/阶段:渗透测试的漏洞利用阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景:攻击者发现目标网站存在 XSS 漏洞,但传统的 XSS Payload 都被 WAF 拦截了。
-
关键点:使用weaponised-XSS-payloads 库中提供的 Payload,可以绕过 WAF 的防御机制,成功执行 XSS 攻击。
-
推荐理由:weaponised-XSS-payloads库提供了一系列经过实战检验的 XSS Payload,可以帮助攻击者提高XSS攻击的成功率。
-
推荐指数:★★★★
https://github.com/payloadbox/weaponised-xss-payloads
XSS 漏洞利用工具: 用于利用 XSS漏洞,例如获取用户 Cookie、控制用户浏览器、执行任意 JavaScript 代码等。
1. Xsshunter
-
设计理念: 提供一个平台,用于收集和管理XSS攻击触发的Payload数据, 帮助攻击者更好地了解攻击效果,并进行后续的攻击利用。
-
定位: 一款 XSS 漏洞利用平台,适用于渗透测试人员、漏洞挖掘以及安全研究人员。
-
作用: 提供一个JavaScript脚本,该脚本可以嵌入到XSS Payload中, 当 Payload在用户的浏览器中执行时,该脚本会将用户的Cookie、浏览器信息、页面URL等信息发送到xsshunter平台,攻击者可以在平台上查看这些信息,并进行后续的攻击利用。
-
发版时间:2019 年
-
更新状态:定期更新
功能特点:
-
跨平台:支持Windows、Linux、macOS 等操作系统。
-
易于使用:只需要将JavaScript脚本嵌入到XSS Payload 中即可。
-
数据可视化:提供数据可视化功能,可以将收集到的数据以图表、地图等形式展示出来,方便攻击者进行分析。
-
优势: 使用方便、数据收集全面、数据可视化。
-
缺点:需要注册 xsshunter平台账号才能使用
-
建议使用节点/阶段:渗透测试的漏洞利用阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景:攻击者发现目标网站存在一个存储型XSS漏洞,想要利用该漏洞收集用户的 Cookie 信息。
-
关键点: 将 xsshunter 平台提供的JavaScript脚本嵌入到 XSS Payload 中, 并将该Payload存储到目标网站的数据库中。当其他用户访问该网站时,该 Payload 就会在用户的浏览器中执行,用户的 Cookie 信息就会被发送到 xsshunter 平台。
-
推荐理由:xsshunter平台可以帮助攻击者更好地收集和管理XSS攻击数据,方便攻击者进行后续的攻击利用。
-
推荐指数:★★★★
https://github.com/mandatoryprogrammer/xsshunter
2. Ground-Control
-
设计理念:为渗透测试人员提供一个用于调试盲 XSS、SSRF和XXE 漏洞的 Web 服务器。
-
定位:一款基于Python的Web服务器,适用于渗透测试人员调试盲 XSS、SSRF 和 XXE 漏洞。
-
作用:攻击者可以将ground-control部署到自己的服务器上,然后在攻击 Payload 中,将数据发送到ground-control 服务器。ground-control服务器会记录接收到的数据,并提供 Web 界面,方便攻击者查看数据。
-
发版时间:2017 年
-
更新状态:不活跃
功能特点:
-
支持HTTP和HTTPS协议:可以接收来自 HTTP 和 HTTPS 协议的请求。
-
支持多种数据格式:可以接收 JSON、XML、文本等多种格式的数据。
-
支持自定义 Payload 处理:可以自定义Payload处理逻辑, 例如,将接收到的数据存储到数据库中,或者发送邮件通知等。
-
优势:使用方便、灵活、可扩展。
-
缺点:项目不再更新,需要攻击者自己搭建服务器。
-
建议使用节点/阶段:渗透测试的漏洞利用阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景:攻击者发现目标网站存在盲XSS漏洞,想要利用该漏洞窃取用户的 Cookie 信息,但无法直接观察到攻击效果。
-
关键点:将ground-control 服务器的地址嵌入到 XSS Payload 中,并将该 Payload 发送到目标网站。当目标用户访问该网站时,该Payload就会在用户的浏览器中执行,并将用户的 Cookie 信息发送到 ground-control 服务器。攻击者可以在 ground-control 服务器的 Web 界面上查看收集到的 Cookie 信息。
-
推荐理由: ground-control 可以帮助攻击者调试盲 XSS、SSRF 和 XXE 漏洞,并收集攻击数据。
-
推荐指数: ★★★
https://github.com/nccgroup/ground-control
3. XssValidator
-
设计理念:为 Burp Suite提供一个扩展程序,用于自动化XSS漏洞的验证和利用。
-
定位:一款 Burp Suite扩展程序,适用于渗透测试人员和漏洞挖掘。
-
作用:在 Burp Suite Intruder 模块中,自动对目标网站的参数进行 fuzzing 测试,识别潜在的 XSS 漏洞,并尝试利用这些漏洞。
-
发版时间:2018
-
更新状态:不活跃
功能特点:
-
支持多种 Payload类型:支持反射型 XSS、存储型 XSS、DOM-based XSS等多种 Payload 类型。
-
支持自定义Payload:可以根据目标网站的实际情况,自定义 XSS Payload。
-
支持Payload编码:可以对 Payload 进行 URL 编码、HTML 实体编码等编码,以绕过WAF的过滤规则。
-
支持BurpCollaborator集成:可以将xssValidator与Burp Collaborator集成,方便进行盲XSS漏洞测试。
-
优势:自动化测试、使用方便、功能丰富。
-
缺点: 项目不再更新, 只适用于 Burp Suite 用户。
-
建议使用节点/阶段:渗透测试的漏洞扫描和利用阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景:攻击者需要对目标网站进行XSS漏洞扫描,并尝试利用发现的漏洞。
-
关键点:使用 xssValidator 可以自动化XSS漏洞的扫描和利用过程,提高测试效率。
-
推荐理由:xssValidator 是一款功能强大的 Burp Suite 扩展程序, 可以帮助攻击者提高 XSS 攻击效率。
-
推荐指数:★★★
-
https://github.com/riusksk/xssValidator
4. JSShell
-
设计理念: 提供一个 Web 版的交互式 JavaScript Shell, 方便攻击者在 XSS 攻击成功后, 与目标网站进行交互, 执行各种操作。
-
定位:一款基于 JavaScript 的 Web Shell, 适用于 XSS 漏洞利用。
-
作用:在目标网站的上下文中执行 JavaScript 代码, 攻击者可以通过 JSShell 与目标网站进行交互, 例如, 查看 Cookie、 浏览文件系统、 执行系统命令等。
-
发版时间:2014 年
-
更新状态: 不活跃
功能特点:
-
交互式 Shell:提供一个命令行界面, 方便攻击者执行各种操作。
-
多用户支持:支持多个用户同时连接到 JSShell, 并可以设置不同的权限。
-
支持 URL 编码:可以使用 URL 编码来隐藏 JSShell 的 URL 地址。
-
优势:功能强大、易于使用、支持多用户。
-
缺点:项目不再更新,依赖于 JavaScript 引擎,可能会被浏览器安全机制拦截。
-
建议使用节点/阶段:渗透测试的后渗透阶段,在XSS攻击成功后,使用 JSShell可以进行更深入的攻击利用。
最能体现这款工具使用价值的场景和关键点:
-
场景:攻击者成功利用 XSS 漏洞,将 JSShell 的URL地址注入到目标网站, 并诱骗用户访问该页面。
-
关键点:用户访问该页面后,JSShell 就会在用户的浏览器中执行,攻击者就可以通过JSShell控制用户的浏览器,执行各种恶意操作。
-
推荐理由: JSShell 是一款功能强大的 Web Shell, 可以帮助攻击者在 XSS 攻击成功后, 进行更深入的攻击利用。
-
推荐指数: ★★★
https://github.com/shellphish/JSShell
5. BXSS
-
设计理念:为漏洞挖掘和组织提供一种简单的方法来测试盲 XSS 漏洞, 自动化测试过程,提高测试效率。
-
定位: 一款用于识别盲 XSS 漏洞的实用程序,适用于漏洞挖掘和安全测试人员。
-
作用:自动向目标网站发送包含 XSS Payload 的请求, 并监控攻击者控制的服务器, 如果服务器接收到来自目标网站的请求, 则说明 XSS Payload 成功执行, 目标网站存在盲 XSS 漏洞。
-
发版时间:2018 年
-
更新状态:不活跃
功能特点:
-
支持多种 Payload 类型:支持反射型 XSS、 存储型 XSS、 DOM-based XSS 等多种 Payload 类型。
-
支持自定义 Payload:可以根据目标网站的实际情况, 自定义 XSS Payload。
-
支持 Payload 编码:可以对 Payload 进行 URL 编码、 HTML 实体编码等编码, 以绕过 WAF 的过滤规则。
-
支持代理服务器:可以使用代理服务器隐藏攻击者的 IP 地址。
支持 Burp Suite 集成:可以将 bXSS 集成到 Burp Suite 中, 方便进行盲 XSS 漏洞测试。
-
优势:自动化测试、使用方便、支持多种攻击方式。
-
缺点:项目不再更新, 依赖于外部服务器, 需要攻击者自己搭建服务器。
-
建议使用节点/阶段:渗透测试的漏洞扫描阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景:攻击者发现目标网站可能存在盲 XSS 漏洞,但无法直接观察到攻击效果。
-
关键点:使用 BXSS 可以自动向目标网站发送包含 XSS Payload 的请求, 并监控攻击者控制的服务器, 如果服务器接收到来自目标网站的请求, 则说明 XSS Payload 成功执行, 目标网站存在盲 XSS 漏洞。
-
推荐理由:bXSS 是一款自动化程度较高的盲 XSS 漏洞扫描工具, 可以帮助安全测试人员快速发现盲 XSS 漏洞。
-
推荐指数:★★★
https://github.com/LewisArdern/bXSS
6. Femida
-
设计理念:为Burp Suite 提供一个扩展程序,用于自动化盲 XSS 漏洞的测试。
-
定位:一款 Burp Suite 扩展程序,适用于渗透测试人员和漏洞挖掘。
-
作用:在 Burp Suite 中,自动向目标网站发送包含 XSS Payload 的请求,并监控 Burp Collaborator 服务器,如果 Collaborator 服务器接收到来自目标网站的请求,则说明 XSS Payload 成功执行,目标网站存在盲 XSS 漏洞。
-
发版时间:2019 年
-
更新状态:不活跃
功能特点:
-
使用 Burp Collaborator 作为 Payload 接收服务器。
-
支持多种 Payload 类型:支持反射型 XSS、存储型 XSS、DOM-based XSS 等多种 Payload 类型。
-
支持自定义 Payload: 可以根据目标网站的实际情况, 自定义 XSS Payload。
-
支持 Payload 编码:可以对 Payload 进行 URL 编码、 HTML 实体编码等编码, 以绕过 WAF 的过滤规则。
-
优势:自动化测试、 使用方便、结果准确。
-
缺点:项目不再更新,只适用于 Burp Suite 用户,需要用户熟悉 Burp Collaborator 的使用方法。
-
建议使用节点/阶段:渗透测试的漏洞扫描阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景:攻击者需要对目标网站进行盲 XSS 漏洞扫描。
-
关键点:使用 femida可以自动化盲XSS漏洞的扫描过程,并且可以使用Burp Collaborator 服务器收集攻击数据,提高扫描的准确性和效率。
-
推荐理由:femida 是一款专业的盲 XSS 漏洞扫描工具, 可以帮助安全测试人员快速发现盲 XSS 漏洞。
-
推荐指数:★★★★
-
https://github.com/wish-i-was/femida
7. BitBlinder
-
设计理念: 为 Burp Suite 提供一个扩展程序,用于自动化盲 XSS 漏洞的测试。
-
定位:一款 Burp Suite 扩展程序,适用于渗透测试人员和漏洞挖掘。
-
作用: 在每个HTTP请求中,自动注入自定义的 XSS 攻击载荷,以检测盲 XSS 漏洞。
-
发版时间:2018 年
-
更新状态: 不活跃
功能特点:
-
自动注入 Payload: 在每个 HTTP 请求中,自动注入自定义的 XSS 攻击载荷,无需手动修改请求。
-
支持自定义 Payload:可以根据目标网站的实际情况,自定义 XSS Payload。
-
支持 Payload 编码:可以对Payload 进行 URL 编码、HTML 实体编码等编码,以绕过WAF的过滤规则。
-
优势:自动化测试、使用方便、结果准确。
-
缺点:项目不再更新,只适用于 Burp Suite 用户,可能会影响网站的正常功能。
-
建议使用节点/阶段:渗透测试的漏洞扫描阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景:攻击者需要对目标网站进行盲 XSS 漏洞扫描,但手动测试效率较低。
-
关键点:使用BitBlinder 可以在每个HTTP请求中自动注入XSS Payload,自动化测试过程,提高测试效率。
-
推荐理由: BitBlinder 是一款简单易用的盲XSS漏洞扫描工具,可以帮助安全测试人员快速发现盲 XSS 漏洞。
-
推荐指数:★★★
-
https://github.com/bitblinder/BitBlinder
8. XSSOauthPersistence
-
设计理念: 利用 XSS 和 OAuth 实现账户持久性,即使攻击者无法获取用户的登录凭证,也可以长期控制用户的账户。
-
定位:一种攻击技术,适用于渗透测试人员和红队成员。
-
作用:利用 XSS 漏洞,在目标网站上注入恶意 JavaScript 代码,该代码会获取用户的 OAuth 授权令牌,并将其发送到攻击者控制的服务器。攻击者可以使用该令牌,以用户的身份访问目标网站, 即使用户修改了密码,攻击者仍然可以访问用户的账户。
-
发版时间: 无
-
更新状态: 无
功能特点:
-
持久性:攻击者可以长期控制用户的账户,即使用户修改了密码。
-
隐蔽性:攻击行为难以被发现,因为攻击者没有使用用户的登录凭证。
-
优势:持久性强、隐蔽性高。
-
缺点: 攻击成功率取决于目标网站是否存在 XSS 漏洞和是否支持 OAuth 授权。
-
建议使用节点/阶段:渗透测试的后渗透阶段,在获取了 XSS 漏洞后, 可以使用 XSSOauthPersistence 技术维持对目标网站的访问权限。
最能体现这款工具使用价值的场景和关键点:
-
场景:攻击者想要长期控制目标用户的 Gmail 账户。
-
关键点:攻击者发现Gmail存在一个XSS漏洞,并利用该漏洞,将恶意 JavaScript代码注入到Gmail页面。该代码会获取用户的 OAuth 授权令牌,并将其发送到攻击者控制的服务器。攻击者可以使用该令牌,以用户的身份访问Gmail账户,即使用户修改了密码,攻击者仍然可以访问用户的 Gmail 账户。
-
推荐理由:XSSOauthPersistence 是一种非常有效的攻击技术, 可以帮助攻击者长期控制目标用户的账户。
-
推荐指数:★★★★★
-
下载地址:无(可尝试通过其他方式)
9. Shadow-workers
-
设计理念: 利用恶意服务工作线程 (Service Workers) 和 XSS 漏洞实现隐蔽的 C2 (Command & Control) 通信通道,以控制受感染的浏览器。
-
定位: 一款免费开源的 C2 和代理工具,适用于渗透测试人员利用 XSS 漏洞。
-
作用: shadow-workers 可以被注入到目标网站中,利用服务工作线程在后台运行恶意 JavaScript 代码,并与攻击者控制的服务器进行通信, 从而实现数据窃取、远程代码执行等恶意操作。
-
发版时间:2021 年
-
更新状态:定期更新
功能特点:
-
隐蔽性强: 恶意代码在后台运行,难以被发现。
-
持久性:服务工作线程可以长期驻留在用户的浏览器中,即使用户关闭了网页,恶意代码仍然可以继续运行。
-
功能强大:可以执行各种恶意操作,例如数据窃取、远程代码执行等。
-
优势: 隐蔽性强、持久性、功能强大。
-
缺点: 需要较高的技术水平才能使用。
-
建议使用节点/阶段: 渗透测试的后渗透阶段, 在获取了 XSS 漏洞后, 可以使用 shadow-workers 建立隐蔽的 C2 通道。
最能体现这款工具使用价值的场景和关键点:
-
场景:攻击者想要长期控制目标用户的浏览器,并窃取用户的敏感信息。
-
关键点:攻击者发现目标网站存在 XSS 漏洞,并将 shadow-workers 的代码注入到目标网站。当用户访问该网站时,shadow-workers 就会在用户的浏览器后台运行,并与攻击者控制的服务器进行通信,从而实现长期控制用户浏览器和窃取敏感信息的目的。
-
推荐理由: shadow-workers 是一款功能强大且隐蔽的 C2 工具, 可以帮助攻击者利用 XSS 漏洞实现长期控制目标系统。
-
推荐指数:★★★★
-
https://github.com/mandatoryprogrammer/shadow-workers
10. Xss-flare
-
设计理念:利用Cloudflare Workers 平台,构建一个无服务器的 XSS 漏洞利用平台,可以绕过一些WAF的IP地址限制。
-
定位:一款基于 Cloudflare Workers 的 XSS漏洞利用平台,适用于渗透测试人员和漏洞挖掘。
-
作用:攻击者可以将 xss-flare 部署到 Cloudflare Workers 平台,然后在攻击 Payload 中,将数据发送到 xss-flare 的 URL 地址。xss-flare 会记录接收到的数据,并提供 Web 界面,方便攻击者查看数据
-
发版时间:2020 年
-
更新状态:定期更新
功能特点:
-
无服务器:不需要攻击者自己搭建服务器,利用Cloudflare Workers 平台的计算资源。
-
全球分布:Cloudflare Workers平台的服务器遍布全球,可以绕过一些WAF的IP地址限制。
-
使用方便:攻击者只需要注册 Cloudflare 账号,并将 xss-flare的代码部署到Workers平台即可。
-
优势:无服务器、全球分布、使用方便。
-
缺点: 依赖于Cloudflare Workers 平台,可能会受到Cloudflare平台的限制。
-
建议使用节点/阶段:渗透测试的漏洞利用阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景:攻击者发现目标网站存在 XSS 漏洞,但目标网站的WAF拦截了来自攻击者 IP 地址的请求。
-
关键点:将xss-flare的URL地址嵌入到XSS Payload 中,并将该 Payload 发送到目标网站。当目标用户访问该网站时,该Payload 就会在用户的浏览器中执行,并将用户的Cookie 信息发送到 xss-flare 的 URL 地址。由于 xss-flare 部署在 Cloudflare Workers 平台上,因此攻击者可以绕过 WAF的IP地址限制,成功获取到用户的 Cookie 信息。
-
推荐理由:xss-flare 利用了 Cloudflare Workers 平台的优势,可以帮助攻击者绕过一些 WAF 的限制,提高攻击成功率。
-
推荐指数:★★★★
-
https://github.com/projectdiscovery/xss-flare
11. Xss2png
-
设计理念:将 XSS 攻击载荷嵌入到PNG图片的 IDAT 数据块中,利用图片渲染过程中触发的 JavaScript 代码执行,进行 XSS 攻击。
-
定位:一款 PNG IDAT块XSS 攻击载荷生成器,适用于渗透测试人员和安全研究人员。
-
作用:生成包含XSS攻击载荷的 PNG 图片文件,攻击者可以将该图片文件上传到目标网站,或者将其嵌入到网页中,当用户访问该页面时, 图片渲染过程中会触发 JavaScript 代码执行,从而实现 XSS 攻击。
-
发版时间:2017 年
-
更新状态:不活跃
功能特点:
-
隐蔽性强: XSS攻击载荷隐藏在图片文件中,难以被WAF检测到。
-
利用图片渲染机制: 利用浏览器渲染图片的机制,触发JavaScript代码执行。
-
优势: 隐蔽性强、可以绕过一些 WAF 的防御机制。
-
缺点:攻击成功率取决于目标网站是否允许上传图片文件,或者是否会解析图片文件中的恶意代码。
-
建议使用节点/阶段:渗透测试的漏洞利用阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景:攻击者发现目标网站存在一个文件上传漏洞,允许用户上传图片文件,并且该网站没有对上传的图片文件进行安全检查。
-
关键点:攻击者使用 xss2png 工具生成包含 XSS 攻击载荷的 PNG 图片文件,并将该图片文件上传到目标网站。当其他用户访问该网站,并查看该图片时,恶意代码就会在用户的浏览器中执行。
-
推荐理由:xss2png是一款非常隐蔽的 XSS 攻击工具,可以帮助攻击者绕过一些传统的安全防御措施。
-
推荐指数:★★★★
-
https://github.com/evilcos/xss2png
三、特定场景下的XSS工具
1. Docem
-
设计理念:提供一种简单的方法,在 .docx、.odt、.pptx 等文件中嵌入 XXE 和 XSS 攻击载荷,利用用户对文档的信任,进行攻击。
-
定位: 一款命令行工具, 适用于渗透测试人员和红队成员。
-
作用:在 .docx、.odt、.pptx 等文件中嵌入XXE和XSS攻击载荷,并生成恶意文档。攻击者可以将这些恶意文档发送给目标用户,如果目标用户打开了这些文档,并且其使用的软件存在XXE或XSS漏洞,那么攻击 Payload 就会被执行。
-
发版时间:2018 年
-
更新状态:不活跃
功能特点:
-
支持多种文档格式:支持 .docx、 .odt、 .pptx 等多种文档格式。
-
支持多种攻击载荷:支持 XXE 和 XSS 攻击载荷。
使用简单:只需要指定要嵌入攻击载荷的文档文件和攻击Payload即可。
-
优势:使用方便、可以绕过一些传统的安全防护措施,例如,一些邮件安全网关可能会对 HTML 邮件进行安全检查,但可能不会对文档文件进行安全检查。
-
缺点:项目不再更新,攻击成功率取决于目标用户使用的软件是否存在 XXE 或 XSS 漏洞。
-
建议使用节点/阶段:渗透测试的社会工程学攻击阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景:攻击者想要利用 XXE 漏洞,从目标服务器上窃取敏感文件。
-
关键点:攻击者使用 docem 在 Word 文档中嵌入 XXE 攻击载荷, 并将该文档发送给目标用户。如果目标用户使用的是存在 XXE 漏洞的 Word 版本,那么攻击者就可以成功窃取敏感文件。
-
推荐理由:Docem 是一款简单易用的工具,可以帮助攻击者利用 XXE 和 XSS 漏洞, 进行社会工程学攻击。
-
推荐指数: ★★★
-
https://github.com/whitel1st/docem
2. Xss-Sql-Fuzz
-
设计理念:为 Burp Suite提供一个扩展程序,用于自动化 XSS和SQL注入漏洞的测试。
-
定位:一款 Burp Suite扩展程序,适用于渗透测试人员和漏洞赏金猎人。
-
作用:自动将 XSS 和 SQL 注入攻击载荷添加到 HTTP 请求的参数中, 并发送请求到目标网站,测试目标网站是否存在XSS和SQL注入漏洞
-
发版时间:2021 年
-
更新状态:不活跃
特点:
-
支持 XSS 和 SQL 注入攻击:可以同时测试 XSS 和 SQL 注入漏洞。
-
支持自定义 Payload:可以根据目标网站的实际情况,自定义XSS 和 SQL 注入攻击载荷。
-
支持过滤特殊参数:可以过滤掉一些不应该被测试的参数, 例如,用户 ID、时间戳等。
-
支持BurpCollaborator集成:可以将Xss-Sql-Fuzz与Burp Collaborator集成,方便进行盲XSS和盲 SQL 注入漏洞测试。
-
优势:自动化测试、 使用方便、支持多种攻击方式。
-
缺点: 项目不再更新,只适用于 Burp Suite 用户。
-
建议使用节点/阶段: 渗透测试的漏洞扫描阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景: 攻击者需要对目标网站进行 XSS 和 SQL 注入漏洞扫描,并希望快速发现漏洞。
-
关键点:使用 Xss-Sql-Fuzz 可以自动化 XSS 和 SQL 注入漏洞的扫描过程,提高测试效率。
-
推荐理由:Xss-Sql-Fuzz 是一款简单易用的 Burp Suite 扩展程序, 可以帮助安全测试人员快速发现 XSS 和 SQL 注入漏洞。
-
推荐指数:★★★
-
https://github.com/harsh-bothra/Xss-Sql-Fuzz
四、其他工具
1. Rexsser
-
设计理念: 为 Burp Suite提供一个扩展程序,使用正则表达式从HTTP响应中提取关键字,并测试是否存在反射型XSS漏洞。
-
定位: 一款 Burp Suite 扩展程序,适用于渗透测试人员和漏洞挖掘。
-
作用: rexsser 可以监控 Burp Suite 捕获的HTTP响应,并使用用户提供的正则表达式, 提取 HTTP 响应中的关键字。然后,rexsser会将这些关键字作为 Payload,发送到目标网站,并观察网站的响应,判断是否存在反射型 XSS 漏洞。
-
发版时间:2020 年
-
更新状态: 定期更新
功能特点:
-
使用正则表达式提取关键字:可以灵活地定义要提取的关键字,提高 XSS 漏洞检测的准确性。
-
支持多种Payload 类型:支持反射型 XSS、存储型 XSS、DOM-based XSS 等多种 Payload 类型。
-
支持自定义Payload:可以根据目标网站的实际情况,自定义 XSS Payload。
-
支持Burp Collaborator 集成:可以将rexsser 与 Burp Collaborator 集成, 方便进行盲 XSS 漏洞测试。
-
优势:使用灵活、准确性高、支持多种攻击方式。
-
缺点:只适用于 Burp Suite 用户,需要用户掌握正则表达式的使用方法。
-
建议使用节点/阶段:渗透测试的漏洞扫描阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景:攻击者需要对目标网站进行XSS漏洞扫描,并希望快速识别反射型 XSS 漏洞。
-
关键点:使用 Rexsser 可以自动化反射型 XSS 漏洞的扫描过程,并且可以使用正则表达式精确地定义要提取的关键字,提高XSS漏洞检测的准确性。
-
推荐理由: Rexsser是一款功能强大的 Burp Suite 扩展程序,可以帮助攻击者提高XSS攻击效率。
-
推荐指数:★★★★
-
https://github.com/edoardottt/rexsser
2. Findom-xss
-
设计理念:提供一款专门用于检测基于 DOM 的 XSS 漏洞的工具,这些漏洞通常难以被传统的 XSS 扫描器检测到。
-
定位:一款命令行DOM XSS 漏洞扫描工具,适用于渗透测试人员和漏洞赏金猎人。
-
作用:findom-xss 可以分析Web应用程序的 JavaScript 代码,识别潜在的基于DOM 的 XSS 漏洞,并尝试利用这些漏洞。
-
发版时间:2021 年
-
更新状态:定期更新
功能特点:
-
速度快:findom-xss 使用 Golang 语言开发,执行速度非常快。
-
易于使用:findom-xss 提供命令行界面,使用简单方便。
-
结果直观:findom-xss 会以清晰的格式输出扫描结果,方便用户查看和分析。
-
优势:速度快、易于使用、结果直观。
-
缺点:只能检测基于DOM的XSS漏洞,无法检测其他类型的XSS漏洞。
-
建议使用节点/阶段:渗透测试的漏洞扫描阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景: 目标网站使用了大量的JavaScript 代码,可能存在基于DOM 的 XSS 漏洞。
-
关键点:使用findom-xss可以快速扫描目标网站,识别潜在的基于 DOM 的 XSS 漏洞,并提供漏洞的详细信息,方便开发者进行修复。
-
推荐理由:findom-xss 是一款高效的 DOM XSS 漏洞扫描工具,可以帮助安全测试人员快速发现基于 DOM 的 XSS 漏洞。
-
推荐指数: ★★★★
-
https://github.com/dwisiswant0/findom-xss
3. Domdig
-
设计理念:为 SPA (Single-Page Application,单页应用程序) 提供一个专门的 DOM XSS 漏洞扫描工具。
-
定位:一款针对 SPA 的 DOM XSS 漏洞扫描工具,适用于渗透测试人员和漏洞赏金猎人。
-
作用:domdig 可以分析 SPA 的 JavaScript 代码,识别潜在的基于 DOM 的 XSS 漏洞, 并尝试利用这些漏洞。domdig 使用 Chrome DevTools Protocol 与浏览器进行交互,可以模拟用户的操作,触发 JavaScript 代码执行,从而发现 XSS 漏洞。
-
发版时间:2021
-
年更新状态:定期更新
功能特点:
-
专门针对 SPA:Domdig 专门针对 SPA 进行扫描, 可以更有效地发现 SPA 中的 DOM XSS 漏洞。
-
模拟用户行为:domdig 使用 Chrome DevTools Protocol 与浏览器进行交互,可以模拟用户的操作,触发 JavaScript 代码执行,从而发现 XSS 漏洞。
-
结果直观:domdig 会以清晰的格式输出扫描结果, 方便用户查看和分析。
-
优势: 针对性强、准确性高、结果直观。
-
缺点: 只适用于 SPA,需要安装 Node.js 环境才能使用。
-
建议使用节点/阶段:渗透测试的漏洞扫描阶段。
最能体现这款工具使用价值的场景和关键点:
-
场景:目标网站是一个 SPA,可能存在基于 DOM 的 XSS 漏洞。
-
关键点:使用 domdig 可以快速扫描目标网站,识别潜在的基于 DOM 的 XSS 漏洞,并提供漏洞的详细信息,方便开发者进行修复。
-
推荐理由:domdig 是一款专业的 DOM XSS 漏洞扫描工具,可以帮助安全测试人员发现 SPA 中的 DOM XSS 漏洞。
-
推荐指数:★★★★
-
https://github.com/nccgroup/domdig
如果您觉得文章对您有所帮助,还请您关注我!
原文始发于微信公众号(再说安全):XSS武器库:30款利器深度解析与实战指南(2024)
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论