
Автоматизированный инструмент для проверки уязвимостей массового присвоения путём извлечения параметров из одного HTTP-запроса и применения их к другому, с поддержкой пользовательских заголовков, методов, ограничения скорости и вложенного JSON.
Mass Assigner — это мощный инструмент, предназначенный для выявления и эксплуатации уязвимостей массового присвоения в веб-приложениях. Он работает следующим образом: сначала извлекает данные из указанного запроса (например, данные профиля пользователя), затем систематически применяет каждый параметр, извлечённый из ответа, ко второму запросу, по одному параметру за раз. Такой подход позволяет автоматизировать тестирование и эксплуатацию потенциальных уязвимостей массового присвоения.
Этот инструмент активно изменяет данные на стороне сервера. Пожалуйста, убедитесь, что у вас есть соответствующие разрешения перед использованием. Любая неавторизованная или незаконная деятельность с использованием этого инструмента осуществляется исключительно на ваш страх и риск.
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}'