A modern Playwright-based XSS Scanner designed for bug bounty hunters and security researchers.
This tool performs real browser–based XSS detection through crawling, URL parameter injection, and smart form submission.
This Playwright-based XSS scanner is designed for bug bounty hunters and penetration testers to detect real-world executed cross-site scripting vulnerabilities.
Focused on XSS that is actually EXECUTED, not just reflected strings.
- Real browser execution (Playwright + Chromium)
- URL parameter XSS scanning
- Multi-form XSS scanning
- Smart form submission (auto bypass required / validation fields)
- JavaScript dialog detection (
alert,prompt) - Recursive crawling (same domain only)
- Auto XSS report generation (
.ndjson) - Clean & readable CLI colored output
- Marker-based validation to avoid false positives
- Crawl target website (same domain)
- Detect URL parameters
- Inject XSS payloads
- Detect JavaScript dialogs (
alert,prompt) - Parse & submit all forms intelligently
- Fallback to raw form submission if smart submit fails
- Save confirmed executed XSS to report file
Only EXECUTED XSS will be reported.
- Python 3.8+
- Playwright
- Chromium browser (installed via Playwright)
git clone https://github.com/pangeran-droid/xsscan.git
cd xsscan
pip install -r requirements.txt
playwright install chromiumpython3 xsscan.py -u https://target.com| Flag | Description | Default |
|---|---|---|
-u |
Target URL | required |
-d |
Crawl depth | 2 |
Each scan generates a unique marker using a random numeric value.
The marker is injected into XSS payloads and verified upon execution.
"><svg/onload=alert({marker})>
"><img src=x onerror=prompt({marker})>
<script>alert({marker})</script>
[*] Crawling (0) → https://target.com
[*] Form #1 → /search (GET)
[🔥 XSS] EXECUTED at https://target.com/search?q=...Confirmed XSS findings will be saved automatically to:
xss_report.ndjson{"url":"https://target.com","marker":"1337123456","message":"1337123456"}This tool is created for educational purposes and authorized security testing only.
❌ Do NOT use this tool against targets without explicit permission.The author is not responsible for any misuse or illegal activities.
