
Un fuzzer para detectar vulnerabilidades de redirección abierta
🏗️ Instalación
⛏️ Uso
📚 Dependencias

git clone https://github.com/devanshbatham/openredirex
cd openredirex
sudo chmod +x setup.sh
./setup.sh
El script se ejecuta desde la línea de comandos y tiene las siguientes opciones de uso:
openredirex [-p payloads] [-k keyword] [-c concurrency]
-p, --payloads: Archivo que contiene una lista de payloads. Si no se especifica, se usa una lista predefinida.-k, --keyword: Palabra clave en las URLs para reemplazar con el payload. Por defecto es "FUZZ".-c, --concurrency: Número de tareas concurrentes. Por defecto es 100.El script espera una lista de URLs como entrada. Cada URL debe contener la palabra clave especificada por la opción -k. El script reemplaza la palabra clave con cada uno de los payloads e intenta obtener la URL modificada.
Ejemplo de uso:
cat list_of_urls.txt | openredirex -p payloads.txt -k "FUZZ" -c 50
La lista de URLs debería verse así:
cat list_of_urls.txt
https://newsroom.example.com/logout?redirect=FUZZ
https://auth.example.com/auth/realms/sonatype/protocol/openid-connect/logout?redirect_uri=test
https://exmaple.com/php?test=baz&foo=bar
Este ejemplo lee las URLs del archivo list_of_urls.txt, reemplaza todos los valores de los parámetros por FUZZ (si no se proporciona --keyword), luego nuevamente reemplaza la palabra clave FUZZ o la palabra clave proporcionada con cada payload de payloads.txt, y obtiene cada URL de forma concurrente, con un máximo de 50 tareas concurrentes.
El script utiliza las siguientes librerías:
argparse para manejar argumentos de línea de comandos.aiohttp para realizar solicitudes HTTP.tqdm para mostrar el progreso.concurrent.futures para manejar tareas concurrentes.asyncio para gestionar tareas asíncronas.Necesitas instalar estas dependencias antes de ejecutar el script. La mayoría de ellas son parte de la biblioteca estándar de Python. Puedes instalar aiohttp y tqdm usando pip:
pip install aiohttp tqdm
Puedes usar este script para verificar redirecciones abiertas en aplicaciones web. Sin embargo, solo debes usarlo en sistemas en los que tengas permiso explícito para realizar pruebas.