
Scanner XSS più veloce, supporta reflected-xss e dom-xss
NoXss è uno scanner di vulnerabilità di cross-site scripting che supporta reflected XSS e DOM-based XSS. È molto veloce e adatto per testare milioni di URL. Ha trovato alcune vulnerabilità XSS in programmi 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
Browser: 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.txtSe vuoi eseguire la scansione con --browser=chrome, devi installare Chrome manualmente. Puoi usare --check per testare l'installazione.
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 esegue la scansione da URL.
--id riscansiona dal file *.traffic tramite ID attività.
--file esegue la scansione di URL da file di testo (es. ./url.txt).
--burp esegue la scansione di *.xml (codificato in base64, es. ./test.xml) dal proxy BurpSuite.
--process numero di processi.
--coroutine numero di coroutine.
--cookie usa cookie.
--filter filtra gli URL.
--browser usa browser (chrome, chrome-headless o phantomjs) per la scansione, è efficace per DOM-based XSS ma lento.
--save salva i risultati in ./result/id.json.
--clear elimina i file di traffico dopo la scansione.
In Proxy, "Salva elementi" ==> "test.xml"

Poi puoi scansionare test.xml:
python start.py --burp=./test.xml
Dopo la prima scansione, ci saranno taskid.traffic e taskid.reflect in ./traffic/:
python start.py --id taskid --saveNoXss utilizza solo 8 payload per la scansione. Questi payload si basano sulla posizione riflessa del parametro. Meno payload lo rendono più veloce del fuzzing.
NoXss è altamente concorrente grazie all'uso di coroutine.
Sempre più pagine utilizzano DOM per renderizzare HTML. NoXss può analizzarlo usando PhantomJS (predefinito) o Chrome.
Alcuni XSS sono difficili da scansionare. NoXss salverà alcuni file in traffic/ per l'analisi, inclusi:
Come si vede in Schermata, il poc è https://xxx/?proxyAccount=xssjs%22%3B&shareName=duhxams, Il che significa usare il payload xssjs%22%3B nel parametro "proxyAccount":

Poi puoi chiudere le doppie virgolette usando il payload xssjs";alert(1);//. L'exploit finale è:
https://xxx.com/?proxyAccount=xssjs";alert(1);//&shareName=duhxams