我们运行了 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);
接收器:DataBase.cs:278
System.Data.SqlClient.SqlParameterCollection.Add()
// Add parameters
foreach (SqlParameter parameter in parameters)
cmd.Parameters.Add(parameter);