
Um fuzzer para detectar vulnerabilidades de redirecionamento aberto
🏗️ Instalação
⛏️ Uso
📚 Dependências

git clone https://github.com/devanshbatham/openredirex
cd openredirex
sudo chmod +x setup.sh
./setup.sh
O script é executado a partir da linha de comando e possui as seguintes opções de uso:
openredirex [-p payloads] [-k keyword] [-c concurrency]
-p, --payloads: Arquivo contendo uma lista de payloads. Se não for especificado, uma lista fixa é usada.-k, --keyword: Palavra-chave nas URLs a ser substituída pelo payload. O padrão é "FUZZ".-c, --concurrency: Número de tarefas concorrentes. O padrão é 100.O script espera uma lista de URLs como entrada. Cada URL deve conter a palavra-chave especificada pela opção -k. O script substitui a palavra-chave por cada um dos payloads e tenta buscar a URL modificada.
Exemplo de uso:
cat list_of_urls.txt | openredirex -p payloads.txt -k "FUZZ" -c 50
A lista de URLs deve ser parecida com o exemplo abaixo:
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 exemplo lê URLs do arquivo list_of_urls.txt, substitui todos os valores dos parâmetros por FUZZ (se --keyword não for fornecido), depois substitui novamente a palavra-chave FUZZ ou a palavra-chave fornecida por cada payload de payloads.txt, e busca cada URL concorrentemente, com no máximo 50 tarefas concorrentes.
O script utiliza as seguintes bibliotecas:
argparse para lidar com argumentos de linha de comando.aiohttp para fazer requisições HTTP.tqdm para exibir o progresso.concurrent.futures para gerenciar tarefas concorrentes.asyncio para gerenciar tarefas assíncronas.Você precisa instalar essas dependências antes de executar o script. A maioria delas faz parte da biblioteca padrão do Python. Você pode instalar aiohttp e tqdm usando o pip:
pip install aiohttp tqdm
Você pode usar este script para verificar redirecionamentos abertos em aplicações web. No entanto, use-o apenas em sistemas para os quais você tenha recebido permissão explícita para testar.