【发布时间】:2022-01-17 02:29:31
【问题描述】:
在对我们的旧 ASP.NET 应用程序进行 CheckMarx 扫描后,我们在存储型 XSS 下发现了一些漏洞,其中提到了 SqlDataAdapter.Fill(DataSet object) 和 SqlCommand.ExecuteReader() 方法中的问题。在研究了上述两种方法的修复后,我们没有找到任何合适的解决方案,因为这两种方法是非常常见的 .Net 方法。
有没有人遇到过同样的问题并修复了 SqlDataAdapter.Fill(DataSet object) 和 SqlCommand.ExecuteReader() 方法中的 Stored XSS 问题。请更新我们的解决方案并添加以下代码参考:
1.) SqlDataAdapter.Fill(DataSet 对象):
DataSet ds = new DataSet();
cmd.CommandTimeout = 0;
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
2.) SqlCommand.ExecuteReader():
SqlCommand cmd = CreateCommand(con, commandText);
cmd.ExecuteReader();
【问题讨论】:
-
checkmarx 是否将这些行显示为接收器或源? Checkmarx 中有一个数据流图,显示了潜在的受污染数据的位置和呈现的位置。我不认为这是水槽所在的地方。我认为这是更多的来源。最后向我们展示数据流向何处
-
数据集 allFilter = SitSql.GetDataSet(commandText); GridView.DataSource = allFilter; GridView.DataBind();
标签: c# dataset xss datareader checkmarx