
マルチスレッドなWeb認可テストツール。セッショントークンアクセスをURLリストにわたってチェックし、ユーザー権限を評価。潜在的なアクセス制御の問題を強調表示します。
SessionProbe は、Webアプリケーションにおけるユーザー権限の評価を支援するマルチスレッドのペネトレーションテストツールです。ユーザーのセッショントークンを受け取り、URLのリストに対してアクセスが可能かどうかを確認し、潜在的な認可の問題を強調します。SessionProbe はURLリストの重複を排除し、リアルタイムのログ記録と進行状況の追跡を提供します。
SessionProbe は、Burp Suite の Target タブにある "Copy URLs in this host" 機能(無料の Community Edition で利用可能)と一緒に使用することを想定しています。
注意: Burp の Target タブの filter を変更して、ファイルや画像を含めるようにすることをお勧めします。そうしないと、これらの URL は "Copy URLs in this host" でコピーされず、SessionProbe でテストされません。
ヘルプは組み込まれています!
sessionprobe --help - ヘルプを出力します。Usage:
sessionprobe [flags]
Flags:
-u, --urls string 確認するURLが含まれるファイル(必須)
-H, --headers string リクエストに使用するHTTPヘッダー(形式:"Key1:Value1;Key2:Value2;...")
-h, --help sessionprobeのヘルプ
--ignore-css 拡張子.cssで終わるURLを無視する(デフォルト: true)
--ignore-js 拡張子.jsで終わるURLを無視する(デフォルト: true)
-o, --out string 出力ファイル(デフォルト: "output.txt")
-p, --proxy string プロキシURL(デフォルト: "")
-r, --filter-regex string 正規表現を使用してHTTPレスポンスを除外する。本文がこの正規表現に一致するレスポンスは出力に含まれません。
-l, --filter-lengths string 本文の長さでHTTPレスポンスを除外する。カンマ区切りで長さを指定できます(例: "123,456,789")。
--skip-verification SSL証明書の検証をスキップする(デフォルト: false)
-t, --threads int スレッド数(デフォルト: 10)
--check-all POST、DELETE、PUT、PATCHメソッドをチェックする(デフォルト: false)
--check-delete DELETEメソッドをチェックする(デフォルト: false)
--check-patch PATCHメソッドをチェックする(デフォルト: false)
--check-post POSTメソッドをチェックする(デフォルト: false)
--check-put PUTメソッドをチェックする(デフォルト: false)
Examples:
./sessionprobe -u ./urls.txt
./sessionprobe -u ./urls.txt --out ./unauthenticated-test.txt --threads 15
./sessionprobe -u ./urls.txt -H "Cookie: .AspNetCore.Cookies=<cookie>" -o ./output.txt
./sessionprobe -u ./urls.txt -H "Authorization: Bearer <token>" --proxy http://localhost:8080
./sessionprobe -u ./urls.txt -r "Page Not Found"
./sessionprobe -u ./urls.txt -H "Cookie: .AspNetCore.Cookies=<cookie>;Cookie: <another-cookie>=<another_value>"
URLsファイル があるディレクトリに移動します。docker run -it --rm -v "$(pwd):/app/files" --name sessionprobe fw10/sessionprobe [flags]
URLsファイル はカレントディレクトリに置く必要があり、出力ファイル もこのディレクトリに作成されます。--proxy オプションを使用する場合は、Burp listener をすべてのインターフェースで実行するようにしてください。go run . で直接実行できます。go build で自分でビルドできます。docker build . -t fw10/sessionprobe でDockerイメージを自分でビルドできます。go test または go test -v(詳細表示)を実行します。.css、.js)でURLをソートし、長さを表示Burp経由で通過させるプロキシ機能Responses with Status Code: 200
https://example.com/<some-path> => Length: 12345
https://example.com/<some-path> => Length: 40
...
Responses with Status Code: 301
https://example.com/<some-path> => Length: 890
https://example.com/<some-path> => Length: 434
...
Responses with Status Code: 302
https://example.com/<some-path> => Length: 0
...
Responses with Status Code: 404
...
Responses with Status Code: 502
...
リリース セクションには、ツールを自分でビルドしなくても済むように、あらかじめコンパイルされたバイナリがいくつか含まれています。Macリリース の場合、Macが警告(「開発元を確認できないため開けません」)を表示する可能性があります。
バグを見つけた場合は、GitHub上で直接Issueを作成してください。迅速に対応いたします。