Mass-Assigner是一款针对Web应用程序的强大安全检测工具,该工具可以帮助广大研究人员轻松检测Web应用中的成批分配和错误配置等安全问题。
该工具首先会从它首先从指定的请求中检索数据,例如获取用户配置文件数据。然后,它会系统地尝试将从响应中提取的每个参数应用于提供的第二个请求,一次一个参数。这种方法允许自动检测Web应用程序中潜在的成批分配问题。
1、允许在请求中添加自定义标头;
2、为源请求和目标请求提供各种 HTTP 方法的定制;
3、支持速率限制以有效管理请求阈值;
4、提供指定“忽略的参数”的选项,工具将在执行期间忽略这些参数;
5、改进了对响应中 JSON 数据内嵌套数组/对象的支持;
requests
argparse
urllib3
由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。
接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
然后切换到项目目录中,使用pip3命令和项目提供的requirements.txt安装该工具所需的其他依赖组件:
cd Mass-Assigner
pip3 install -r requirements.txt
参数选项
-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/path-to-fetch-data" --target-req "http://example.com/path-to-probe-the-data"
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}'
本项目的开发与发布遵循
MIT
开源许可协议。
Mass-Assigner
:
https://github.com/Sn1r/Mass-Assigner