İçeriğe geç

Server-side request forgery (ARCH331)

Anahtar dotnet.security.ssrf · Önem warning · Kategori security · CWE CWE-918

Kullanıcı tarafından sağlanan bir URL’ye doğrulamadan giden istek yapmak, saldırganların sunucuyu dahili servislere, bulut metadata uç noktalarına veya yerel kaynaklara istek atmaya zorlamasına olanak tanır.

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);
}

Giden istek URL’lerini bir izin listesine (allowlist) göre doğrulayın; özel IP aralıklarını ve metadata uç noktalarını engelleyin.