Mass Assigner 是一款强大的工具,旨在识别并利用 Web 应用程序中的批量赋值漏洞。它首先从指定请求中获取数据(例如获取用户个人资料数据),然后系统地尝试将响应中提取的每个参数逐一应用到提供的第二个请求中。这种方法能够自动化测试和利用潜在的批量赋值漏洞。
此工具会主动修改服务器端数据。使用前请确保您已获得适当授权。使用本工具进行的任何未经授权或非法活动,风险完全由您自行承担。
安装依赖项
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 显示此帮助信息并退出
--fetch-from FETCH_FROM
用于获取数据的 URL
--target-req TARGET_REQ
用于发送修改后数据的 URL
-H HEADER, --header HEADER
添加自定义标头。格式:'Key: Value'
-p PROXY, --proxy PROXY
使用代理,例如:http://127.0.0.1:8080。
-d DATA, --data DATA 向请求体添加数据。支持转义后的 JSON。
--rate-limit RATE_LIMIT
每秒请求数
--source-method SOURCE_METHOD
初始请求的 HTTP 方法。默认为 GET。
--target-method TARGET_METHOD
修改后请求的 HTTP 方法。默认为 PUT。
--ignore-params IGNORE_PARAMS
修改时忽略的参数,以逗号分隔。
示例用法:
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}'