
Schnellerer xss scanner,unterstützt reflected-xss und dom-xss
NoXss ist ein Cross-Site-Scripting-Schwachstellenscanner, der reflektiertes XSS und DOM-basiertes XSS unterstützt. Er ist sehr schnell und geeignet, um Millionen von URLs zu testen. Er hat einige XSS-Schwachstellen im Bug-Bounty-Programm gefunden.
├── 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 oder 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.txtWenn Sie mit --browser=chrome scannen möchten, müssen Sie Chrome manuell installieren. Sie können --check verwenden, um die Installation zu testen.
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 Von URL scannen.
--id Erneutes Scannen aus .traffic-Datei anhand der Aufgaben-ID.
--file URLs aus Textdatei scannen (z.B. ./url.txt).
--burp .xml (base64-kodiert, wie ./test.xml) vom Burpsuite-Proxy scannen.
--process Anzahl der Prozesse.
--coroutine Anzahl der Coroutinen.
--cookie Cookie verwenden.
--filter URLs filtern.
--browser Verwenden Sie einen Browser (Chrome, Chrome-Headless oder Phantomjs) zum Scannen. Gut für DOM-basiertes XSS, aber langsam.
--save Ergebnisse in ./result/id.json speichern.
--clear Traffic-Dateien nach dem Scannen löschen.
Im Proxy: "Save items" ==> "test.xml"

Dann können Sie test.xml scannen:
python start.py --burp=./test.xml
Nach dem ersten Scannen befinden sich taskid.traffic und taskid.reflect im Verzeichnis ./traffic/:
python start.py --id taskid --saveNoXss verwendet nur 8 Payloads zum Scannen. Diese Payloads basieren auf der reflektierten Position des Parameters. Weniger Payloads machen es schneller als Fuzzing.
NoXss ist durch die Verwendung von Coroutinen hochgradig nebenläufig.
Immer mehr Seiten verwenden DOM zum Rendern von HTML. NoXss kann dies mit Phantomjs (Standard) oder Chrome parsen.
Manche XSS sind schwer zu scannen. NoXss speichert einige Dateien im Verzeichnis traffic/ zur Analyse:
Wie im Screenshot zu sehen, ist der Poc https://xxx/?proxyAccount=xssjs%22%3B&shareName=duhxams. Das bedeutet, dass der Payload xssjs%22%3B im Parameter 'proxyAccount' verwendet wird:

Dann können Sie die doppelten Anführungszeichen mit dem Payload xssjs";alert(1);// beenden. Der endgültige Exploit ist:
https://xxx.com/?proxyAccount=xssjs";alert(1);//&shareName=duhxams