Advanced XSS Detection Suite
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.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.
git clone https://github.com/s0md3v/XSStrike cd XSStrike pip3 install -r requirements.txt python3 xsstrike.py
- Reflected and DOM XSS scanning
- Multi-threaded crawling
- Context analysis
- Configurable core
- WAF detection & evasion
- Outdated JS lib scanning
- Intelligent payload generator
- Powerful fuzzing engine
- Blind XSS support
- Highly researched work-flow
- Complete HTTP support
- Bruteforce payloads from a file
- Powered by Photon, Zetanize and Arjun
- Payload Encoding
- It says fuzzywuzzy isn’t installed but it is.
- What’s up with Blind XSS?
- Why XSStrike boasts that it is the most advanced XSS detection suite?
- I like the project, what enhancements and features I can expect in future?
- What’s the false positive/negative rate?
- Tool xyz works against the target, while XSStrike doesn’t!
- Can I copy it’s code?
- What if I want to embed it into a proprietary software?
Bruteforcing payloads from a file
Interactive HTTP Headers Prompt
Hidden Parameter Discovery
Contribution, Credits & License
Ways to contribute
- Suggest a feature
- Report a bug
- Fix something and open a pull request
- Create a browser extension
- Create a burp suite/zaproxy plugin
- Help me document the code
- Spread the word
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.