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.
Os hackers podem executar ataques SSRF de várias maneiras, incluindo:
<!-- 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 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.