Pular para o conteúdo
Todos os conceitos

O que é SSRF

Um recurso busca uma URL que você controla, e quem abre a conexão é o servidor, de dentro da rede dele.

Imagine um site com um campo "cole o link e eu mostro a prévia". Você cola http://192.0.2.10/noticia, e o site devolve o título da página. Para fazer isso, o servidor abriu uma conexão até 192.0.2.10 e leu a resposta. Seu navegador não tocou nesse endereço: quem buscou foi o servidor.

Essa é a ideia do SSRF (falsificação de requisição no lado do servidor): existe um recurso que pega uma URL que você escreve e a busca por conta própria. Enquanto a URL aponta para fora, parece inofensivo. O problema é que o servidor está num lugar privilegiado, dentro da rede, e alcança endereços que você, de fora, não alcança: o próprio localhost dele, serviços internos, painéis sem senha. Trocando a URL por um desses endereços, você empresta a posição do servidor.

Onde isso aparece: geradores de prévia de link, "importar de uma URL", validadores de webhook, conversores de documento que baixam imagens por endereço. O sinal de alerta é sempre o mesmo: o servidor busca um endereço que o usuário fornece.

você serviço de prévia alvo 1 - a URL que você manda 2 - pedido o servidor é quem abre Seu navegador só falou com o serviço; o serviço alcançou o alvo.
O usuário manda uma URL ao recurso de prévia; o servidor é quem abre a conexão até o alvo e lê a resposta, de dentro da rede dele.

Aparece nestes desafios