
Um localizador automatizado de SSRF. Basta fornecer o nome do domínio e seu servidor e relaxe! ;) Também tem opções para encontrar XSS e redirecionamentos abertos.
Um localizador automatizado de SSRF. Basta fornecer o nome do domínio e seu servidor e relaxar! ;) Também possui opções para encontrar XSS e redirecionamentos abertos.

./ssrfire.sh -d domain.com -s yourserver.com -f custom_file.txt -c cookies
domain.com ---> O domínio para o qual deseja testar
yourserver.com ---> Seu servidor que detecta SSRF. Ex.: Burp collaborator
custom_file.txt ---> Argumento opcional. Você fornece suas próprias URLs personalizadas em vez de usar o gau
cookies ---> Argumento opcional. Para enviar requisições como usuário autenticado
Se você não tem o burpsuite professional, pode usar o interact sh da incrível equipe projectdiscovery como seu servidor.
Como isso usa GAU, FFUF, qsreplace e OpenRedirex, você precisa de GO e python 3.7+. Você não precisa ter as ferramentas instaladas, pois o script setup.sh instalará tudo. Você só precisa instalar python e GO. Mesmo que você tenha as ferramentas instaladas, recomendo fortemente instalá-las novamente para evitar conflitos ao definir os caminhos.
Se você não quiser instalar as ferramentas novamente, cole este código no seu .profile no seu diretório home e execute source .profile. Além disso, você precisa fazer uma pequena alteração no ssrfire.sh na linha 10, onde deve substituir source /home/hari/.profile pelo caminho do seu .profile. (Apenas se você não estiver instalando ferramentas através do setup.sh)
#Replace /path/to/ with the specific directory where the tool is installed
#If you already have configured paths for any of the tools, replace that code with the below one.
ffuf(){
echo "Usage: ffuf https://www.domain.com/FUZZ payloads.txt"
/path/to/ffuf/./main -u $1 -w $2 -b $3 -c -t 100
}
gau(){
echo "Usage: gau domain.com"
/path/to/gau/./main $1
}
gau_s(){
/path/to/gau/./main --subs $1
}
openredirex(){
echo "Usage: openredirex urls.txt payloads.txt"
python3 /path/to/OpenRedireX/openredirex.py -l $1 -p $2 --keyword FUZZ
}
qsreplace(){
/path/to/qsreplace/./main $1
}
chmod +x setup.sh
./setup.sh (preferably yes for all ---> **highly recommended**)
./ssrfire.sh -d domain.com -s yourserver.com
Agora, o gau entra em ação buscando todas as URLs do domínio. Isso pode levar muito tempo. Você pode verificar a saída gerada até agora em output/domain.com/raw_urls.txt
Deixe rodar por pelo menos 10-15 minutos, e então, se quiser continuar, pode. Mas se você quiser testar as URLs buscadas até agora, saia do processo. Copie o raw_urls.txt de dentro de output/domain.com e coloque-o fora da pasta domain.com Agora execute
./ssrfire.sh -d domain.com -s yourserver.com -f /path/to/copied_raw_urls.txt
Selecione sim quando for perguntado se deseja excluir a pasta existente.
Isso pulará o processo de busca de URLs do GAU.
Agora todas as URLs com parâmetros serão filtradas e yourserver.com será colocado em seus valores de parâmetro. (final_urls.txt)
O próximo passo é enviar requisições para todas as URLs finais.
Aviso: Isso gera muito tráfego. Não use isso contra sites que você não está autorizado a testar
Isso testa todas as URLs buscadas e, com base em como a entrada é refletida na resposta, adiciona essa URL específica ao output/domain.com/xss-suspects.txt (Isso pode conter falsos positivos)
Para testar mais a fundo, você pode enviar esta lista para ferramentas de detecção de XSS como XSStrike para encontrar XSS.
Basta inserir o caminho para um arquivo de payload ou usar o payload padrão. Eu pessoalmente prefiro o openredirex, pois é especificamente projetado para verificar redirecionamentos abertos carregando as URLs da lista, parece muito mais limpo e não inunda seu terminal.
GAU - https://github.com/lc/gau
ffuf - https://github.com/ffuf/ffuf
qspreplace - https://github.com/tomnomnom/qsreplace
OpenRedireX - https://github.com/devanshbatham/OpenRedireX
Agradecimentos a todos os autores das ferramentas.