XSStrike README

The project's README from github.com/s0md3v/XSStrike. As one markdown file: README.md.


XSStrike
XSStrike

Advanced XSS Detection Suite

multi xss

XSStrike Wiki • Usage • FAQ • For Developers • Compatibility • Gallery

XSStrike is a Cross Site Scripting detection suite equipped with four hand written parsers, an intelligent payload generator, a powerful fuzzing engine and an incredibly fast crawler.

Instead of injecting payloads and checking it works like all the other tools do, XSStrike analyses the response with multiple parsers and then crafts payloads that are guaranteed to work by context analysis integrated with a fuzzing engine. Here are some examples of the payloads generated by XSStrike:

}]};(confirm)()//\
<A%0aONMouseOvER%0d=%0d[8].find(confirm)>z
</tiTlE/><a%0donpOintErentER%0d=%0d(prompt)``>z
</SCRiPT/><DETAILs/+/onpoINTERenTEr%0a=%0aa=prompt,a()//

Apart from that, XSStrike has crawling, fuzzing, parameter discovery, WAF detection capabilities as well. It also scans for DOM XSS vulnerabilities.

Main Features

Installation

Enter the following commands one by one in terminal:

git clone https://github.com/s0md3v/XSStrike
cd XSStrike
pip install -r requirements.txt --break-system-packages

Now, XSStrike can be used at any time as follows:

python xsstrike.py

Documentation

FAQ

DOM XSS

dom xss

Reflected XSS

multi xss

Crawling

crawling

Fuzzing

fuzzing

Bruteforcing payloads from a file

bruteforcing

Interactive HTTP Headers Prompt

headers

Hidden Parameter Discovery

arjun

Contribution, Credits & License

Ways to contribute

Licensed under the GNU GPLv3, see LICENSE for more information.

The WAF signatures in /db/wafSignatures.json are taken & modified from sqlmap. I extracted them from sqlmap's waf detection modules which can found here and converted them to JSON.
/plugins/retireJS.py is a modified version of retirejslib.

XSStrike (s0md3v/XSStrike)

Searching Database…

15.2K ·GitHub
这是什么?XSStrike 是一个跨站脚本(XSS)检测套件,由四个手工编写的解析器、智能 payload 生成器、模糊测试引擎和高速爬虫构成。它不像大多数扫描器那样只会发射通用 payload,而是分析实际响应,通过上下文分析构造出切实有效的 payload。
它是独立的扫描器,还是导入代码的库?它是一个命令行 Python 工具,从终端对目标 URL 运行,不是用来导入的库。
怎么把它跑起来?克隆仓库,安装 Python 依赖,然后在终端里针对你的目标运行 xsstrike.py 脚本。
运行之前需要装好什么?只需要 Python 3 以及 requirements.txt 中列出的依赖;FAQ 特别指出 fuzzywuzzy 是安装时容易出问题的一个。
它能发现所有 XSS 且从不误报吗?不能——项目自己的 FAQ 就公开讨论了它的误报/漏报率,而且盲打 XSS(Blind XSS)检测是一个单独、更复杂的工作流程,并非开箱即用。
它是为谁打造的?面向渗透测试人员和安全研究人员,他们需要主动探测 Web 应用中的反射型和 DOM 型 XSS,包括暴力枚举 payload 和发现隐藏参数。
Photon、Zetanize 和 Arjun 是做什么用的?它们是同一作者的配套项目,分别支撑 XSStrike 的爬取(Photon)、payload 生成(Zetanize)和隐藏参数发现(Arjun)功能。
这里的 WAF 检测和绕过是什么意思?XSStrike 使用改编自 sqlmap 的特征来识别目标 Web 应用防火墙的指纹,然后量身定制 payload,尝试绕过那个特定的 WAF。
盲打 XSS 支持是怎么工作的?它让你注入只在稍后才执行的 payload,例如在管理后台或日志查看器中触发,因此你需要配置外部的回调收集器来接收触发后的结果。
我能在自己的闭源工具里使用 XSStrike 的代码吗?README 的 FAQ 直接提出了这个问题:由于项目采用 GPLv3 许可证,任何复用其代码的衍生作品也必须以 GPLv3 发布,所以不能把它并入专有软件。
Creator
s0md3v
Size
1.2 MB
Stars
15.2K
Age
9y
Commits · 90 Days