Glossário

O que é SSRF (Server-Side Request Forgery)

SSRF faz um servidor acessar destinos internos, como metadados de nuvem; foi a causa do vazamento da Capital One. Como funciona e como se defender.

Publicado 2026-06-07 Atualizado 2026-10-06 7 min de leitura
Nesta página

Um recurso que busca o conteúdo de uma URL colada é uma conveniência do dia a dia, mas no pior caso expõe as credenciais da sua nuvem. Isso é SSRF. Veja como funciona e como se defender, do zero.

O que realmente está acontecendo

O acesso normal é "usuário → site externo". O SSRF faz o servidor enviar requisições a destinos internos em nome do invasor. Servidores conseguem alcançar redes internas e endpoints de credenciais de nuvem que são invisíveis de fora, então um invasor consegue lê-los indiretamente.

invasor
──"busque esta URL interna"──▶
seu servidor (recurso de busca de URL)
└─ requisição feita por proxy ─▶
rede interna / painéis de admin
169.254.169.254 (credenciais de nuvem)
O invasor usa seu servidor como 'trampolim' para alcançar sistemas internos que normalmente estão fora de alcance.

Na nuvem, esse endpoint interno (o serviço de metadados) pode entregar credenciais temporárias. Se o SSRF o alcança, as credenciais são roubadas e o ataque leva à exfiltração massiva de armazenamento, que é exatamente o que aconteceu no vazamento da Capital One (2019): SSRF → metadados → credenciais IAM → S3.

Onde se esconde

Qualquer recurso em que "um servidor busca uma URL fornecida pelo usuário" é um candidato.

RecursoImplementação típica
Pré-visualização de OG / linko servidor busca uma URL colada para montar uma miniatura
Entrega de webhooko servidor faz POST para um destino especificado pelo usuário
Importação de imagem / arquivo"buscar uma imagem de uma URL"
Diagnóstico de siteo servidor acessa o site informado para inspecioná-lo

Lacunas de validação que as pessoas ignoram

"Bloquear IPs internos" não é suficiente. Você precisa tratar também estes contornos.

O bloqueio ingênuo não basta

  • Seguir redirecionamentos: um domínio permitido faz 302 para um endereço interno.
  • DNS rebinding: IP externo no momento da validação, IP interno no momento da busca.
  • Truques de codificação de IP: formas decimais/octais/curtas disfarçam um endereço interno.
  • Esquemas estranhos: file://, gopher:// e outros esquemas inesperados.

Como se defender se você construir o recurso

O SSRF é prevenido "no como você constrói o recurso". Estas são as regras que este site impõe aos seus próprios recursos de diagnóstico.

1

Use uma allowlist para destinos

Restrinja o esquema (http/https) e o host a um conjunto permitido apenas. "Permitir só estes" é mais confiável do que "bloquear os internos".

2

Bloqueie alvos internos

Negue a alcançabilidade a 127.0.0.1 / 10.x / 192.168.x / 169.254.169.254 (metadados).

3

Apenas domínios que o usuário possui (para diagnósticos)

Restrinja a domínios que o usuário provou possuir. Não deixe que ele aponte para sites de terceiros.

4

Trate os contornos e proteja os metadados

Valide o destino final do redirecionamento, considere o DNS rebinding e exija metadados baseados em token (por exemplo, IMDSv2) na nuvem.

Este site se apoia em "não guardar segredos", "diagnosticar apenas o que tem posse comprovada" e "minimizar o dano que qualquer comprometimento possa causar" (→ Sobre este site).

SSRF vs CSRF vs open redirect

Os três envolvem um destino escolhido de fora, mas diferem no que se move e até onde chega.

AtaqueQuem vai para ondeO que pode alcançar
SSRFO seu servidor envia uma requisição ao destino que recebeuLugares inalcançáveis de fora, como a rede interna e as credenciais de nuvem
CSRFO navegador do usuário envia uma requisição que ele não pretendiaTudo o que o usuário pode fazer em um site onde está logado
Open redirectO navegador do usuário é encaminhado ao site externo recebidoUm site falso (phishing)

O SSRF é especialmente perigoso porque o que ele alcança fica "dentro do servidor". Lugares que o seu firewall protege de fora ainda podem ser alcançados por meio do servidor.

Casos reais: ele também se esconde em recursos de frameworks

O SSRF aparece não só em recursos de "buscar esta URL" que você mesmo escreve, mas também em recursos de frameworks. Nos CVEs recentes do Next.js, por exemplo, o SSRF (CWE-918) está entre os tipos de fraqueza mais comuns, em recursos de servidor que buscam imagens externas, como a otimização de imagens (→ as vulnerabilidades do Next.js e do React em dados reais, em inglês). No "CWE Top 25" da MITRE (as 25 fraquezas de software mais perigosas), publicado em dezembro de 2025, o SSRF está em 22º lugar.

Na nuvem, o vazamento da Capital One é o exemplo clássico. O SSRF alcançou o serviço de metadados, e credenciais temporárias com permissões excessivas foram roubadas. Em novembro de 2019, a AWS lançou o IMDSv2 para reduzir esse tipo de dano.

Como verificar o seu próprio ambiente

1

Liste todos os pontos que buscam uma URL recebida

Procure no seu código clientes HTTP (fetch, axios, requests etc.) cujo destino possa incluir entrada do usuário. Pré-visualizações de link, webhooks, importação de imagens, geração de PDF e recursos de importação são os casos típicos.

2

Verifique as configurações de permissão do framework

Nas configurações de otimização de imagens ou de busca externa, verifique se os hosts permitidos não são amplos demais (no Next.js, se images.remotePatterns não contém uma entrada só com curinga).

3

Exija o IMDSv2 (AWS)

Nas opções de metadados de cada instância EC2, verifique se HttpTokens está como required (apenas IMDSv2). Em servidores que não rodam contêineres, mantenha em 1 o limite de saltos da resposta do token.

4

Restrinja o tráfego de saída do servidor

Rode o código que busca URLs em um ambiente separado que não alcance a rede interna, ou limite o tráfego de saída aos destinos necessários. Se a validação do app deixar algo passar, a rede ainda o detém.

Fontes (primárias)

  • OWASP, "Server-Side Request Forgery Prevention Cheat Sheet" (em inglês) — cheatsheetseries.owasp.org (allowlists, bloqueio de endereços internos, tratamento de redirecionamentos e DNS)
  • AWS, "Use the Instance Metadata Service to access instance metadata" (em inglês) — docs.aws.amazon.com (tokens de sessão do IMDSv2, a configuração required, limite de saltos)
  • AWS Security Blog, "Add defense in depth against open firewalls, reverse proxies, and SSRF vulnerabilities with enhancements to the EC2 Instance Metadata Service" (novembro de 2019, em inglês) — aws.amazon.com
  • Microsoft, "Azure Instance Metadata Service" (em inglês) — learn.microsoft.com (o Azure também usa 169.254.169.254)
  • MITRE, "2025 CWE Top 25 Most Dangerous Software Weaknesses" (dezembro de 2025, em inglês) — cwe.mitre.org (CWE-918 em 22º lugar)

Leia a seguir

Classificação

O CWE classifica os tipos de fraqueza por trás das vulnerabilidades; o MITRE ATT&CK classifica as técnicas dos atacantes. Ambos são mantidos pela MITRE e amplamente usados para rotular vulnerabilidades e regras de detecção.

CWE™: Copyright © 2006–2026, The MITRE Corporation. CWE is a trademark of The MITRE Corporation. The MITRE Corporation hereby grants you a non-exclusive, royalty-free license to use CWE for research, development, and commercial purposes. Any copy you make for such purposes is authorized on the condition that you reproduce MITRE’s copyright designation and this license in any such copy. CWE Terms of Use

FAQ

QQue tipo de recurso tende a ter SSRF?
A

Recursos em que 'um servidor busca uma URL fornecida pelo usuário': geração de pré-visualização de OG/link, entrega de webhook, importação de imagem, diagnóstico de site. Quanto mais conveniente o recurso, mais cuidado ele exige.

QPor que o SSRF é especialmente perigoso na nuvem?
A

VMs de nuvem têm um 'endpoint de metadados' acessível apenas internamente que pode entregar credenciais temporárias. Se o SSRF o alcança, essas credenciais são roubadas e o ataque leva à exfiltração massiva de armazenamento (o caminho do vazamento da Capital One).

QComo me defendo contra SSRF?
A

Valide os destinos estritamente com uma allowlist e bloqueie a alcançabilidade a IPs internos (127.0.0.1, 10.x, metadados em 169.254.169.254). Para diagnósticos, restrinja a domínios que o usuário provou possuir, e trate os contornos por seguir redirecionamentos e por DNS rebinding.

QQual é a diferença entre SSRF e CSRF?
A

Quem envia a requisição. O CSRF faz o navegador de um usuário enviar uma requisição que ele não pretendia. O SSRF faz o seu servidor enviar uma requisição a um destino que ele nunca deveria alcançar. O dano do CSRF se limita ao que aquele usuário pode fazer; o do SSRF se estende a tudo o que o servidor alcança, como a rede interna ou as credenciais de nuvem.

QO IMDSv2 previne o SSRF?
A

Ele estreita muito o caminho para roubar credenciais de nuvem, mas não previne o SSRF em si. O IMDSv2 da AWS só devolve metadados com um token de sessão obtido por uma requisição PUT, então um SSRF simples que apenas busca uma URL tem dificuldade para chegar às credenciais. Alcançar telas de administração ou APIs internas é outro problema, então você continua precisando de uma allowlist de destinos e do bloqueio de endereços internos.

QO que é 169.254.169.254?
A

Um endereço apenas interno (link-local) que as máquinas virtuais de nuvem usam para ler suas próprias configurações e credenciais temporárias. AWS, Azure e Google Cloud o usam. Ele não pode ser alcançado de fora, mas o próprio servidor o alcança, o que o torna o destino mais visado no SSRF.