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.
Hatalı
Bölüm başlığı “Hatalı”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);}Düzeltme
Bölüm başlığı “Düzeltme”Giden istek URL’lerini bir izin listesine (allowlist) göre doğrulayın; özel IP aralıklarını ve metadata uç noktalarını engelleyin.