
Ferramenta automatizada para sondar vulnerabilidades de atribuição em massa (mass assignment) extraindo parâmetros de uma requisição HTTP e aplicando-os a outra, com suporte para cabeçalhos personalizados, métodos, limitação de taxa (rate-limiting) e JSON aninhado.
Mass Assigner é uma ferramenta poderosa projetada para identificar e explorar vulnerabilidades de atribuição em massa em aplicações web. Ela funciona primeiro recuperando dados de uma requisição especificada, como buscar dados de perfil de usuário. Em seguida, tenta sistematicamente aplicar cada parâmetro extraído da resposta a uma segunda requisição fornecida, um parâmetro por vez. Essa abordagem permite o teste automatizado e a exploração de potenciais vulnerabilidades de atribuição em massa.
Esta ferramenta modifica ativamente dados do lado do servidor. Certifique-se de ter autorização adequada antes de usar. Qualquer atividade não autorizada ou ilegal usando esta ferramenta é de inteira responsabilidade sua.
Instalar dependências
pip3 install -r requirements.txt
Executar o script
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 aceita os seguintes argumentos:
-h, --help mostra esta mensagem de ajuda e sai
--fetch-from FETCH_FROM
URL para buscar dados
--target-req TARGET_REQ
URL para enviar dados modificados
-H HEADER, --header HEADER
Adicionar um cabeçalho personalizado. Formato: 'Chave: Valor'
-p PROXY, --proxy PROXY
Usar proxy, Exemplo: http://127.0.0.1:8080.
-d DATA, --data DATA Adicionar dados ao corpo da requisição. JSON é suportado com escape.
--rate-limit RATE_LIMIT
Número de requisições por segundo
--source-method SOURCE_METHOD
Método HTTP para a requisição inicial. Padrão é GET.
--target-method TARGET_METHOD
Método HTTP para a requisição modificada. Padrão é PUT.
--ignore-params IGNORE_PARAMS
Parâmetros a ignorar durante a modificação, separados por vírgula.
Exemplo de Uso:
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}'