
Scanner xss plus rapide,supporte reflected-xss et dom-xss
NoXss est un scanner de vulnérabilités de scripts intersites (XSS) prenant en charge le XSS réfléchi et le XSS basé sur le DOM. Il est très rapide et adapté au test de millions d'URLs. Il a permis de découvrir plusieurs vulnérabilités XSS dans le cadre de programmes Bug Bounty.
├── engine.py
├── logo
├── cookie.py
├── url.txt
├── cookie
│ └── test.com_cookie
├── traffic
│ ├── 49226b2cbc77b71b.traffic #fichier de trafic (pickled)
│ └── 49226b2cbc77b71b.reflect #fichier de réflexion (pickled)
├── config.py
├── start.py
├── url.txt.filtered #URLs filtrées
├── util.py
├── README.md
├── banner.py
├── requirements.txt
├── result
│ └── 49226b2cbc77b71b-2019_10_29_11_24_44.json #résultat
├── model.py
└── test.py

Linux
Python2.7
Navigateur : Phantomjs ou 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 vous souhaitez utiliser l'analyse avec --browser=chrome, vous devez installer Chrome manuellement. Vous pouvez utiliser --check pour tester l'installation.
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 Analyser à partir d'une URL.
--id Relancer l'analyse à partir du fichier *.traffic en utilisant l'ID de la tâche.
--file Analyser les URLs à partir d'un fichier texte (ex. ./url.txt).
--burp Analyser les fichiers *.xml (encodés en base64, ex. ./test.xml) depuis le proxy Burpsuite.
--process Nombre de processus.
--coroutine Nombre de coroutines.
--cookie Utiliser un cookie.
--filter Filtrer les URLs.
--browser Utiliser un navigateur (chrome, chrome-headless ou phantomjs) pour l'analyse, idéal pour le XSS DOM mais plus lent.
--save Sauvegarder les résultats dans ./result/id.json.
--clear Supprimer les fichiers de trafic après l'analyse.
Dans le proxy, "Save items" ==> "test.xml"

Ensuite, vous pouvez analyser test.xml :
python start.py --burp=./test.xml
Après une première analyse, les fichiers taskid.traffic et taskid.reflect apparaissent dans ./traffic/ :
python start.py --id taskid --saveNoXss utilise seulement 8 payloads pour l'analyse. Ces payloads sont basés sur la position de réflexion du paramètre. Moins de payloads rend l'analyse plus rapide que le fuzzing.
NoXss est hautement concurrentiel grâce à l'utilisation de coroutines.
De plus en plus de pages utilisent le DOM pour afficher du HTML. NoXss peut les analyser en utilisant Phantomjs (par défaut) ou Chrome.
Certains XSS sont difficiles à détecter. NoXss sauvegarde des fichiers dans ./traffic/ pour analyse, notamment :
Comme vous le voyez dans la Capture d'écran, le poc est https://xxx/?proxyAccount=xssjs%22%3B&shareName=duhxams. Cela signifie qu'il utilise le payload xssjs%22%3B dans le paramètre "proxyAccount" :

Vous pouvez alors fermer le guillemet double avec le payload xssjs";alert(1);//. L'exploit final est :
https://xxx.com/?proxyAccount=xssjs";alert(1);//&shareName=duhxams