WebAPI был отсканирован с использованием veracode, и в следующем методе класса был обнаружен недостаток SSRF
public static class APIHelper
{
public static string CallAPIPost(string identifier,string email, string token)
{
string result = "";
string apiURL = string.Empty;
switch (identifier)
{
case "url1": apiURL = VerifiedUrl.url1.Replace("{0}", email);
break;
}
using (var client = new HttpClient())
{
if (!string.IsNullOrEmpty(token))
client.DefaultRequestHeaders.Add("Authorization", token);
client.BaseAddress = new Uri(WebConfigurationManager.AppSettings["OtherAPI"]);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new
MediaTypeWithQualityHeaderValue("application/json"));
var response = client.PostAsync(apiURL, null).Result;//This line is throwing SSRF flaw
}
}
}
public static class VerifiedUrl
{
public const string url1 = "api/controller/action/{email}"
}