
Escáner xss más rápido,admite reflected-xss y dom-xss
NoXss es un escáner de vulnerabilidades de cross-site scripting que soporta XSS reflejado y XSS basado en DOM. Es muy rápido y adecuado para probar millones de URLs. Ha encontrado algunas vulnerabilidades XSS en programas de Bug Bounty.
├── engine.py
├── logo
├── cookie.py
├── url.txt
├── cookie
│ └── test.com_cookie
├── traffic
│ ├── 49226b2cbc77b71b.traffic #traffic file(pickled)
│ └── 49226b2cbc77b71b.reflect #reflected file(pickled)
├── config.py
├── start.py
├── url.txt.filtered #filtered urls
├── util.py
├── README.md
├── banner.py
├── requirements.txt
├── result
│ └── 49226b2cbc77b71b-2019_10_29_11_24_44.json #result
├── model.py
└── test.py

Linux
Python2.7
Navegador: Phantomjs o Chrome
apt-get install flex bison phantomjspip install -r requirements.txtyum install flex bison phantomjspip install -r requirements.txtbrew install grep findutils flex phantomjspip install -r requirements.txtSi deseas escanear usando --browser=chrome, debes instalar Chrome manualmente. Puedes usar --check para probar la instalación.
python start.py --check
python start.py --url url --save
python start.py --url url --cookie cookie --browser chrome --save
python start.py --url url --cookie cookie --browser chrome-headless --save
python start.py --file ./url.txt --save
python start.py --burp ./test.xml --save
python start.py --file file --filter
--url escanear desde URL.
--id reescanear desde archivo *.traffic por ID de tarea.
--file escanear URLs desde archivo de texto (como ./url.txt).
--burp escanear *.xml (codificado en base64, como ./test.xml) desde el proxy de Burpsuite.
--process número de procesos.
--coroutine número de corutinas.
--cookie usar cookie.
--filter filtrar URLs.
--browser usar navegador (chrome, chrome-headless o phantomjs) para escanear, es bueno para XSS basado en DOM pero lento.
--save guardar resultados en ./result/id.json.
--clear eliminar archivos de tráfico después del escaneo.
En Proxy, "Save items" ==> "test.xml"

Luego puedes escanear test.xml:
python start.py --burp=./test.xml
Después del primer escaneo, habrá taskid.traffic y taskid.reflect en ./traffic/:
python start.py --id taskid --saveNoXss solo usa 8 payloads para el escaneo. Estos payloads se basan en la posición reflejada del parámetro. Menos payloads lo hacen más rápido que el fuzzing.
NoXss es altamente concurrente gracias al uso de corutinas.
Cada vez más páginas usan DOM para renderizar HTML. NoXss puede analizarlo usando Phantomjs (por defecto) o Chrome.
Algunas vulnerabilidades XSS son difíciles de escanear. NoXss guardará algunos archivos en traffic/ para su análisis, que incluyen:
Como se ve en la Captura de pantalla, el POC es https://xxx/?proxyAccount=xssjs%22%3B&shareName=duhxams. Eso significa usar el payload xssjs%22%3B en el parámetro 'proxyAccount':

Luego puedes cerrar las comillas dobles usando el payload xssjs";alert(1);//. El exploit final es:
https://xxx.com/?proxyAccount=xssjs";alert(1);//&shareName=duhxams