Herramienta ofensiva en Python para detección básica de WAF y pruebas iniciales de XSS en formularios web. Diseñada para workflows de bug bounty, pentesting web y análisis rápido de superficie de ataque.
-
Detección de WAF mediante
wafw00f -
Enumeración de formularios HTML:
- páginas estáticas
- contenido dinámico (opcional) mediante
requests-html
-
Pruebas de XSS:
- payloads genéricos
- payloads específicos por tipo de WAF
-
CLI clara, minimalista y orientada a automatización
-
Modo verbose
-
Control de timeout
- Python 3.x
- macOS / Linux (recomendado)
pip install requests-html beautifulsoup4 colorama requests lxml_html_cleanpip install wafw00fo
apt install wafw00fgit clone https://github.com/theoffsecgirl/tool-waxss.git
cd tool-waxss
chmod +x waxss.pySe recomienda usar un entorno virtual para aislar dependencias:
python3 -m venv venv
source venv/bin/activate
python -m pip install -r requirements.txtpython3 waxss.py -u https://example.comEsto ejecuta:
- Detección de WAF (si procede)
- Análisis de formularios
- Pruebas de XSS con payloads base y payloads específicos
| Flag | Descripción |
|---|---|
-u, --url |
URL objetivo (obligatorio) |
--skip-waf |
Omite la detección de WAF |
--no-js |
No renderiza JavaScript (más estable en macOS ARM) |
--timeout |
Ajusta timeout de peticiones |
-v, --verbose |
Muestra información detallada |
Sin renderizado JS (modo recomendado en macOS ARM):
python3 waxss.py -u https://example.com --no-jsSolo formularios + pruebas XSS, sin WAF:
python3 waxss.py -u https://example.com --skip-wafVerbose + timeout elevado:
python3 waxss.py -u https://example.com -v --timeout 40- Detección rápida de XSS reflejado
- Identificación de endpoints y campos vulnerables
- Validación inicial del comportamiento del WAF
- Automatización de fases tempranas de análisis en bug bounty
- El renderizado JS depende de
requests-htmly puede fallar en Python 3.13 / macOS ARM - No gestiona autenticación, sesiones complejas ni CSRF
- No sustituye análisis manual ni pruebas avanzadas
- Puede generar falsos positivos en entornos con filtrado fuerte
Para máxima estabilidad:
- Ejecutar con
--no-js - Usar Python 3.11 o 3.12 si necesitas renderizado completo
- Integrar la herramienta en tus pipelines de recon
Si deseas una versión sin dependencias “legacy”, se puede migrar a Playwright.
Esta herramienta debe utilizarse únicamente en:
- Sistemas propios
- Entornos autorizados
- Programas de bug bounty que lo permitan
El uso no autorizado es ilegal.
MIT License (incluida en el archivo LICENSE.md)
Desarrollado por TheOffSecGirl
- GitHub: https://github.com/theoffsecgirl
- Web: https://www.theoffsecgirl.com
- Academia: https://www.northstaracademy.io