
一つのHTTPリクエストからパラメータを抽出し、別のリクエストに適用することで大量代入脆弱性を調査する自動化ツール。カスタムヘッダー、メソッド、レート制限、ネストされたJSONに対応。
Mass Assignerは、Webアプリケーションのマスアサインメント脆弱性を特定し、悪用するために設計された強力なツールです。これは、最初に指定されたリクエストからデータを取得(例えば、ユーザープロファイルデータを取得)します。次に、抽出された各パラメータを、提供された2番目のリクエストに対して、1パラメータずつ体系的に適用しようとします。このアプローチにより、潜在的なマスアサインメント脆弱性の自動テストと悪用が可能になります。
このツールはサーバーサイドのデータを積極的に変更します。使用前に適切な許可を得てください。このツールを使用した不正または違法行為は、すべて自己責任となります。
application/x-www-form-urlencodedなどの追加のコンテンツタイプをサポート依存関係をインストール
pip3 install -r requirements.txt
スクリプトを実行
python3 mass_assigner.py --fetch-from "http://example.com/path-to-fetch-data" --target-req "http://example.com/path-to-probe-the-data"
Forbidden Busterは以下の引数を受け付けます:
-h, --help show this help message and exit
--fetch-from FETCH_FROM
URL to fetch data from
--target-req TARGET_REQ
URL to send modified data to
-H HEADER, --header HEADER
Add a custom header. Format: 'Key: Value'
-p PROXY, --proxy PROXY
Use Proxy, Usage i.e: http://127.0.0.1:8080.
-d DATA, --data DATA Add data to the request body. JSON is supported with escaping.
--rate-limit RATE_LIMIT
Number of requests per second
--source-method SOURCE_METHOD
HTTP method for the initial request. Default is GET.
--target-method TARGET_METHOD
HTTP method for the modified request. Default is PUT.
--ignore-params IGNORE_PARAMS
Parameters to ignore during modification, separated by comma.
使用例:
python3 mass_assigner.py --fetch-from "http://example.com/api/v1/me" --target-req "http://example.com/api/v1/me" --header "Authorization: Bearer XXX" --proxy "http://proxy.example.com" --data '{\"param1\": \"test\", \"param2\":true}'