Ir para o conteúdo

Server-Side Request Forgery (SSRF)

Origem: Wikipédia, a enciclopédia livre.

Server-side request forgery (SSRF, em português, Falsificação de Solicitação do Lado do Servidor) é um tipo de vulnerabilidade de cibersegurança em que um servidor vulnerável é manipulado por invasores para enviar solicitações para sistemas internos ou externos[1] ou para interagir diretamente com os próprios invasores[2]. Esta vulnerabilidade ocorre quando uma funcionalidade vulnerável é abusada para que extrair informações que de outra forma não seriam diretamente acessíveis por usuários[3]. O SSRF é um dos riscos de segurança de API mais críticos[4] e se encontra entre as fraquezas de software mais perigosas[5] .

Visão geral

[editar | editar código]

Em um incidente envolvendo SSRF, o servidor vulnerável envia uma solicitação para uma URL fornecida ou modificada por invasores. Embora qualquer endpoint possa ser fornecido, os destinos mais comuns são redes internas, serviços de host local ou serviços de metadados da nuvem.

O SSRF não se limita ao protocolo HTTP. Nos casos em que a própria aplicação realiza a segunda solicitação, diferentes protocolos (ex., FTP, SMB, SMTP, etc.) e esquemas (ex., file://, phar://, gopher://, data://, dict://, etc.) podem ser usados[2].

Diagrama de fluxo de SSRF comum

A severidade de um ataque SSRF depende do tipo de ativos (assets) acessíveis e da possibilidade de que os invasores visualizem a resposta. Em casos críticos, o SSRF pode comprometer ambientes de nuvem, explorar hosts internos, capturar informações confidenciais e usar o servidor como proxy para ocultar outras atividades maliciosas.

De forma semelhante ao cross-site request forgery, que utiliza um cliente da Web (por exemplo, um navegador da Web) no domínio como um proxy para ataques, um ataque SSRF utiliza por sua vez um servidor vulnerável dentro do domínio como um proxy.

Nesse tipo de ataque, a resposta é exibida a invasores. O servidor busca a URL solicitada e envia a resposta de volta.

Nesse tipo de ataque, a resposta não é enviada de volta a invasores. Portanto, invasores precisam confirmar indiretamente o sucesso ou o fracasso do ataque SSRF

Causas e Prevenção

[editar | editar código]

O SSRF ocorre quando um endpoint da API acessa uma URL fornecida pelo cliente, sem confirmar que a solicitação será direcionada aos destinos esperados[6] .

O SSRF pode ser prevenido por meio da validação de dados de entrada, sendo possível usar ferramentas de teste de segurança de análise estática para capturar falhas de implementação. Quando possível, é recomendável restringir as solicitações do servidor a uma lista de aplicações confiáveis usando uma lista de permissões. Entretanto, pode ainda ser necessário outras medidas para abordar resoluções de nome de host, redirecionamentos de URL e religações de DNS. Se o servidor precisar enviar solicitações para endereços de IP ou domínios externos imprevistos, é recomendável fazer a segregação de rede para bloquear tráfego não autorizado no nível da própria rede[2].

Referências

[editar | editar código]
  1. Novikov, Ivan (26 de janeiro de 2017). «SSRF Bible» (PDF). OWASP. Consultado em 11 de setembro de 2025 [ligação inativa] 
  2. a b c «Server Side Request Forgery Prevention - OWASP Cheat Sheet Series». cheatsheetseries.owasp.org. Consultado em 11 de setembro de 2025 
  3. «The Open Web Application Security Project». OWASP.org. Consultado em 23 de julho de 2018 
  4. «OWASP API Security Top 10». owasp.org. Consultado em 11 de setembro de 2025 
  5. «CWE - 2024 CWE Top 25 Most Dangerous Software Weaknesses». cwe.mitre.org. Consultado em 11 de setembro de 2025 
  6. «CWE-918: Server-Side Request Forgery (SSRF)». CWE.Mitre.org. Consultado em 4 de outubro de 2022