NetGuard

Falsificação de Solicitação no Servidor (SSRF)

A falsificação de solicitação no servidor (Server-Side Request Forgery, SSRF) é um tipo de ataque onde um invasor consegue induzir um servidor a fazer requisições para um domínio arbitrário, incluindo sistemas internos que normalmente não seriam acessíveis externamente.

Riscos

Como os Hackers Executam o Ataque

Os hackers podem executar ataques SSRF de várias maneiras, incluindo:

  1. Explorando formulários ou endpoints que aceitam URLs como entrada.
  2. Utilizando a entrada de dados para fazer com que o servidor acesse URLs controladas pelo invasor.
  3. Manipulando solicitações para acessar serviços internos e explorar vulnerabilidades.

Exemplo de Código Vulnerável

<!-- Exemplo de código PHP vulnerável a SSRF -->
<?php
$url = $_GET['url'];

// Baixa o conteúdo da URL fornecida pelo usuário
$content = file_get_contents($url);

echo $content;
?>

No exemplo acima, a entrada do usuário não é validada, permitindo que um invasor forneça uma URL maliciosa que o servidor acessará.

Exemplo de Código Seguro

<!-- Exemplo de código PHP seguro contra SSRF -->
<?php
$url = $_GET['url'];

// Lista de URLs permitidas
$allowed_urls = [
    'https://exemplo.com/api',
    'https://outroexemplo.com/data'
];

if (in_array($url, $allowed_urls)) {
    $content = file_get_contents($url);
    echo $content;
} else {
    echo 'URL não permitida';
}
?>

No exemplo acima, a URL fornecida pelo usuário é validada contra uma lista de URLs permitidas, mitigando o risco de SSRF.

Boas Práticas

Más Práticas

Gostaria de testar seu conhecimento sobre o assunto

Clique aqui para iniciar o Quiz