
401/403/404ページのバイパスをファズテストする
元の403fuzzer.py :)
==注: これは私の新しくてキラキラしたBurp拡張機能(1000000%優れています)に取って代わられました。ツールをご利用いただきありがとうございます!==
拡張機能はこちらにあります: https://github.com/intrudir/BypassFuzzer-Burp
401/403エンドポイントをファズしてバイパスを試みる
ヘッダー、パス正規化、動詞などを使用してさまざまなチェックを実行し、ACLやURL検証のバイパスを試みます。
このツールが報奨金獲得に役立った場合、または単にビールをおごりたい場合:
Twitterでフォローしてください! @intrudir
# clone the repo (or download it as a zip!) then navigate to the directory
git clone https://github.com/NetSPI/BypassFuzzer.git
cd BypassFuzzer
# it is best practice to create a new virtual env.
python3 -m venv .venv
# activate the venv
source .venv/bin/activate
# install dependencies
python3 -m pip install -r requirements.txt
# clone the repo (or download it as a zip!) then navigate to the directory
# if you download the .zip, remember to extract it first
cd BypassFuzzer-main\
# it is best practice to create a new virtual env.
py -m venv .venv
# activate the venv
.venv\Scripts\activate
# install dependencies
# you need to use 'python' cmd in order to use the interpreter from this environment.
python -m pip install -r .\requirements.txt
Windowsでは、スクリプトを使用する際に python コマンドを使用するようにしてください。これにより、仮想環境を使用することが保証されます。
ヘルプメニューを参照
bypassfuzzer.py -h
リクエストをファイルに貼り付けてスクリプトを実行するだけです!
cookies と headers を解析して使用します。python3 bypassfuzzer.py -r request.txt

URLの指定
python3 bypassfuzzer.py -u http://example.com/test1/test2/test3/forbidden.html
リクエストで使用するクッキーの指定:
いくつかの例:
--cookies "cookie1=blah"
-c "cookie1=blah; cookie2=blah"
送信するメソッド/動詞とボディデータの指定
bypassfuzzer.py -u https://example.com/forbidden -m POST -d "param1=blah¶m2=blah2"
bypassfuzzer.py -u https://example.com/forbidden -m PUT -d "param1=blah¶m2=blah2"
すべてのリクエストで使用するカスタムヘッダーの指定
Authorization: bearer <token> のような認証ヘッダーを追加する必要があるかもしれません。
追加したいヘッダーごとに -H "header: value" を指定してください:
bypassfuzzer.py -u https://example.com/forbidden -H "Some-Header: blah" -H "Authorization: Bearer 1234567"
レスポンスコードと長さに基づきます。同じレスポンスが8回以上表示された場合、自動的にミュートします。
繰り返し回数は、フラグで指定するオプションを追加するまではコード内で変更可能です。
注意: 現時点では -hc または -hl と同時に使用できません
# toggle smart filter on
bypassfuzzer.py -u https://example.com/forbidden --smart
Burp経由でプロキシしたい場合に便利です
bypassfuzzer.py -u https://example.com/forbidden --proxy http://127.0.0.1:8080
# skip sending header payloads
bypassfuzzer.py -u https://example.com/forbidden -sh
# or --skip-headers
# Skip sending path normailization payloads
bypassfuzzer.py -u https://example.com/forbidden -su
# or --skip-urls
コンマ区切りのリストをスペースなしで指定します。 例:
# Hide response codes
bypassfuzzer.py -u https://example.com/forbidden -hc 403,404,400
# Hide response lengths of 638
bypassfuzzer.py -u https://example.com/forbidden -hl 638
成功した(200 OK)リクエストとレスポンスのペアはすべてsqliteデータベースに保存されます。
各ペイロードには簡単なクエリのためにインデックス番号が含まれています。

攻撃が終了したら、結果を確認し、表示したいデータのインデックスまたはペイロードを特定します。
以下の両方のフラグを使用する必要があります:
--display-by index or payload--display-interactions index number or payload string in quotes# display by index number
bypassfuzzer.py --display-by index --display-interactions 49
# display by payload
bypassfuzzer.py --display-by payload --display-interactions "/%2e%2fAJAX/index.php"
結果:

簡素化のため、ツールを実行するたびに新しいデータベースが作成されます。
特定のデータベースは --idb フラグでクエリできます。
注意:
interactions ディレクトリ内にある必要があります。--idb でデータベースが指定されていない場合、デフォルトで最新のものが使用されます。bypassfuzzer.py --display-by index --display-interactions 49 --idb interactions_20240729_145149.db

コラボレーターまたはISHドメインを --oob フラグで指定します
現在、代わりにpingbackを確認する方法がないため、自分で確認する必要があります。
--oob abc123.oastify.com