
Fuzz em páginas 401/403/404 para encontrar bypasses
O original 403fuzzer.py :)
==Nota: Isso foi descontinuado em favor da minha nova e brilhante extensão do Burp que é 1000000% melhor. Obrigado por usar minhas ferramentas!==
Você pode encontrar a extensão aqui: https://github.com/intrudir/BypassFuzzer-Burp
Fuzz endpoints 401/403 para bypasses
Realiza várias verificações via cabeçalhos, normalização de caminhos, verbos, etc., para tentar contornar ACLs ou validação de URL.
Se esta ferramenta ajudou você a conseguir um bounty ou você gostaria de me pagar uma cerveja:
Siga-me no twitter! @intrudir
# clone the repo (or download it as a zip!) then navigate to the directory
git clone https://github.com/NetSPI/BypassFuzzer.git
cd BypassFuzzer
# it is best practice to create a new virtual env.
python3 -m venv .venv
# activate the venv
source .venv/bin/activate
# install dependencies
python3 -m pip install -r requirements.txt
# clone the repo (or download it as a zip!) then navigate to the directory
# if you download the .zip, remember to extract it first
cd BypassFuzzer-main\
# it is best practice to create a new virtual env.
py -m venv .venv
# activate the venv
.venv\Scripts\activate
# install dependencies
# you need to use 'python' cmd in order to use the interpreter from this environment.
python -m pip install -r .\requirements.txt
Para Windows, para usar o script, certifique-se de usar o comando python. Isso garante que você está usando o ambiente virtual.
Veja o menu de ajuda
bypassfuzzer.py -h
Simplesmente cole a requisição em um arquivo e execute o script!
cookies e headers da requisição.python3 bypassfuzzer.py -r request.txt

Especifique uma URL
python3 bypassfuzzer.py -u http://example.com/test1/test2/test3/forbidden.html
Especifique cookies para usar nas requisições:
alguns exemplos:
--cookies "cookie1=blah"
-c "cookie1=blah; cookie2=blah"
Especifique um método/verbo e dados do corpo para enviar
bypassfuzzer.py -u https://example.com/forbidden -m POST -d "param1=blah¶m2=blah2"
bypassfuzzer.py -u https://example.com/forbidden -m PUT -d "param1=blah¶m2=blah2"
Especifique cabeçalhos personalizados para usar em cada requisição
Talvez você precise adicionar algum tipo de cabeçalho de autenticação como Authorization: bearer <token>
Especifique -H "header: value" para cada cabeçalho adicional que deseja adicionar:
bypassfuzzer.py -u https://example.com/forbidden -H "Some-Header: blah" -H "Authorization: Bearer 1234567"
Baseado no código de resposta e comprimento. Se ele vir uma resposta 8 vezes ou mais, irá silenciá-la automaticamente.
As repetições são alteráveis no código até que eu adicione uma opção para especificá-la em flag
NOTA: Não pode ser usado simultaneamente com -hc ou -hl (ainda)
# toggle smart filter on
bypassfuzzer.py -u https://example.com/forbidden --smart
Útil se você quiser usar um proxy através do Burp
bypassfuzzer.py -u https://example.com/forbidden --proxy http://127.0.0.1:8080
# skip sending header payloads
bypassfuzzer.py -u https://example.com/forbidden -sh
# or --skip-headers
# Skip sending path normailization payloads
bypassfuzzer.py -u https://example.com/forbidden -su
# or --skip-urls
Forneça listas separadas por vírgula sem espaços. Exemplos:
# Hide response codes
bypassfuzzer.py -u https://example.com/forbidden -hc 403,404,400
# Hide response lengths of 638
bypassfuzzer.py -u https://example.com/forbidden -hl 638
Cada par de requisição e resposta bem-sucedido (200 OK) é salvo em um banco de dados sqlite.
Cada payload inclui um número de índice para consulta fácil.

Após o ataque terminar, inspecione seus resultados e determine o índice ou payload dos dados que deseja ver.
Você deve usar AMBAS as seguintes flags:
--display-by index or payload--display-interactions index number or payload string in quotes# display by index number
bypassfuzzer.py --display-by index --display-interactions 49
# display by payload
bypassfuzzer.py --display-by payload --display-interactions "/%2e%2fAJAX/index.php"
Resultado:

Por questão de simplicidade, toda vez que você executar a ferramenta, um novo banco de dados é criado.
Você pode consultar um banco de dados específico através da flag --idb.
NOTA:
interactions para ser utilizável.--idb, o mais novo será usado por padrão.bypassfuzzer.py --display-by index --display-interactions 49 --idb interactions_20240729_145149.db

Forneça a flag --oob com seu domínio de colaborador ou ISH
Você precisa verificar os pingbacks por conta própria, pois atualmente não tenho como fazer isso por você.
--oob abc123.oastify.com