Атака межсайтовых сценариев в Asp.net C#
Ниже приведен код, для которого в отчете checkmarx указан риск XSS.
public string MasterPage(string name)
{
var img = string.Empty;
SqlConnection dataConnection1 = new SqlConnection(conn);
SqlCommand dataCommand2 = dataConnection1.CreateCommand();
// dataCommand2.CommandText = "select Uid from Usrtable where Uname = @Uname";
dataCommand2.CommandText = "select Uimage from Usrtable where Uname = @Uname";
dataCommand2.Parameters.AddWithValue("@Uname", name.ToString());
dataConnection1.Open();
// int id = (int)(dataCommand2.ExecuteScalar());
img =(string) dataCommand2.ExecuteScalar();
dataConnection1.Close();
}
UI
<asp:Image ID="Image1" Runat="server" />
aspx.cs
var img = logic.MasterLogic(name);
Image1.ImageUrl = @"images" + "/" + img.ToString();//images is a folder.Getting img from database table. img is the image path saved in the db.The report points at this line for vulnerability.
Image2.ImageUrl = @"images" + "/" + img.ToString();
string clientname = Session["clientname"].ToString();
Client.Text = Session["clientname"].ToString();
В отчете говорится как; файл класса данных получает данные из базы данных для элемента ExecuteScalar. Затем значение этого элемента проходит через код без надлежащей фильтрации или кодирования и в конечном итоге отображается пользователю в методе Page_Load(aspx.cs)