Ir al contenido

Server-side request forgery (ARCH331)

Esta página aún no está disponible en tu idioma.

Key dotnet.security.ssrf · Severity warning · Category security · CWE CWE-918

Making an outbound request to a user-supplied URL without validation lets attackers force the server to reach internal services, cloud metadata endpoints, or local resources.

public async Task<IActionResult> Fetch(string url)
{
var data = await _http.GetStringAsync(url);
return Content(data);
}
public async Task<IActionResult> Fetch(string url)
{
if (!Uri.TryCreate(url, UriKind.Absolute, out var uri) ||
!_allowedHosts.Contains(uri.Host))
return BadRequest();
var data = await _http.GetStringAsync(uri);
return Content(data);
}

Validate outbound request URLs against an allowlist; block private IP ranges and metadata endpoints.