我们运行Fortify扫描,并有一些访问控制:数据库问题.代码获取文本框值并将其设置为字符串变量.在这种情况下,它将值从TextBox传递到数据库中的存储过程.关于如何解决此访问控制:数据库问题的任何想法?
如果没有适当的访问控制,DataBase.cs中的方法ExecuteNonQuery()可以在第320行执行包含攻击者控制的主键的SQL语句,从而允许攻击者访问未经授权的记录.
来源:Tool.ascx.cs:591 System.Web.UI.WebControls.TextBox.get_Text()
rptItem.FindControl("lblClmInvalidEntry").Visible = false;
ToolDataAccess.UpdateToolData(strSDN, strSSNum, strRANC, strAdvRecDate, strAdvSubDate, strClmRecDate, strClmAuth, strClmSubDate, strAdvAuth, txtNoteEntry.Text);
Run Code Online (Sandbox Code Playgroud)
接收器:DataBase.cs:278
System.Data.SqlClient.SqlParameterCollection.Add()
// Add parameters
foreach (SqlParameter parameter in parameters)
cmd.Parameters.Add(parameter);
fortify ×1