
Fuzz de páginas 401/403/404 en busca de bypasses.
El original 403fuzzer.py :)
==Nota: Esto ha quedado obsoleto por mi nueva y brillante extensión de Burp que es 1000000% mejor. ¡Gracias por usar mis herramientas!==
Puedes encontrar la extensión aquí: https://github.com/intrudir/BypassFuzzer-Burp
Fuzzear endpoints 401/403 para bypasses
Realiza varias comprobaciones mediante cabeceras, normalización de rutas, verbos, etc. para intentar eludir ACL o validación de URL.
Si esta herramienta te ayudó a conseguir un bounty o simplemente quieres invitarme a una cerveza:
¡Sígueme en 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 el script, asegúrate de usar el comando python. Esto asegura que estás usando el entorno virtual.
Ve el menú de ayuda
bypassfuzzer.py -h
Simplemente pega la petición en un archivo y ejecuta el script.
cookies y cabeceras de la petición.python3 bypassfuzzer.py -r request.txt

Especificar una URL
python3 bypassfuzzer.py -u http://example.com/test1/test2/test3/forbidden.html
Especificar cookies para usar en las peticiones:
algunos ejemplos:
--cookies "cookie1=blah"
-c "cookie1=blah; cookie2=blah"
Especificar un método/verbo y datos del cuerpo 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"
Especificar cabeceras personalizadas para usar con cada petición
Quizás necesites agregar algún tipo de cabecera de autenticación como Authorization: bearer <token>
Especifica -H "cabecera: valor" por cada cabecera adicional que quieras añadir:
bypassfuzzer.py -u https://example.com/forbidden -H "Some-Header: blah" -H "Authorization: Bearer 1234567"
Basado en el código de respuesta y la longitud. Si ve una respuesta 8 veces o más, la silenciará automáticamente.
Las repeticiones son modificables en el código hasta que agregue una opción para especificarlo en la bandera.
NOTA: No se puede usar simultáneamente con -hc o -hl (aún)
# toggle smart filter on
bypassfuzzer.py -u https://example.com/forbidden --smart
Útil si quieres usar proxy a través de 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
Proporciona listas separadas por comas sin espacios. Ejemplos:
# 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 petición y respuesta exitosa (200 OK) se guarda en una base de datos sqlite.
Cada payload incluye un número de índice para facilitar la consulta.

Una vez que el ataque ha terminado, inspecciona tus resultados y determina el índice o payload de los datos que deseas ver.
Debes usar AMBAS de las siguientes banderas:
--display-by index o payload--display-interactions número de índice o cadena de payload entre comillas# 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 simplicidad, cada vez que ejecutas la herramienta, se crea una base de datos nueva.
Puedes consultar una base de datos específica mediante la bandera --idb.
NOTA:
interactions para ser usable.--idb, se usará la más nueva por defecto.bypassfuzzer.py --display-by index --display-interactions 49 --idb interactions_20240729_145149.db

Proporciona la bandera --oob con tu dominio collaborator o ISH
Necesitas comprobar los pingbacks tú mismo, ya que actualmente no tengo forma de hacerlo por ti.
--oob abc123.oastify.com