
より高速なxss scanner,サポート reflected-xssおよびdom-xss
NoXss は、反射型XSSとDOMベースXSSに対応したクロスサイトスクリプト脆弱性スキャナです。非常に高速で、数百万のURLのテストに適しています。バグバウンティプログラムでいくつかのXSS脆弱性を発見実績があります。
├── engine.py
├── logo
├── cookie.py
├── url.txt
├── cookie
│ └── test.com_cookie
├── traffic
│ ├── 49226b2cbc77b71b.traffic # トラフィックファイル(pickle化)
│ └── 49226b2cbc77b71b.reflect # リフレクト結果ファイル(pickle化)
├── config.py
├── start.py
├── url.txt.filtered # フィルター後のURL
├── util.py
├── README.md
├── banner.py
├── requirements.txt
├── result
│ └── 49226b2cbc77b71b-2019_10_29_11_24_44.json # 結果
├── model.py
└── test.py

Linux
Python2.7
ブラウザ:Phantomjs または 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.txt--browser=chrome を使用してスキャンする場合は、手動でChromeをインストールする必要があります。--check でインストールを確認できます。
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 URLからスキャン。
--id タスクIDに基づき *.traffic ファイルから再スキャン。
--file テキストファイル(例:./url.txt)からURLをスキャン。
--burp Burpsuiteプロキシからの *.xml(Base64エンコード、例:./test.xml)をスキャン。
--process プロセス数。
--coroutine コルーチン数。
--cookie Cookieを使用。
--filter URLをフィルター。
--browser ブラウザ(chrome、chrome-headless、phantomjs)を使用してスキャン。DOMベースXSSに有効だが低速。
--save 結果を ./result/id.json に保存。
--clear スキャン後にトラフィックファイルを削除。
プロキシで「Save items」→「test.xml」

その後、test.xml をスキャン:
python start.py --burp=./test.xml
初回スキャン後、./traffic/ に taskid.traffic と taskid.reflect が生成されます:
python start.py --id taskid --saveNoXss はスキャンに8つのペイロードのみを使用します。これらのペイロードはパラメータのリフレクト位置に基づいており、ペイロード数が少ないためファジングよりも高速です。
NoXss はコルーチンによる高い同時実行性を備えています。
最近のページではDOMを使用してHTMLをレンダリングするものが増えています。NoXss はPhantomjs(デフォルト)またはChromeを使用して解析できます。
スキャンが難しいXSSもあります。NoXss は解析用に traffic/ にファイルを保存します。含まれるファイル:
スクリーンショットに示すように、PoCは https://xxx/?proxyAccount=xssjs%22%3B&shareName=duhxams です。これはパラメータ "proxyAccount" にペイロード xssjs%22%3B を使用していることを意味します:

その後、ペイロード xssjs";alert(1);// で二重引用符を閉じることができます。最終的なエクスプロイトは次のとおりです:
https://xxx.com/?proxyAccount=xssjs";alert(1);//&shareName=duhxams