对我们的一个ASP.net应用程序进行了安全性审查,并在测试结果中返回的是SQL注入暴露被认为是高风险项目。
执行的测试将SQL语句作为__EVENTTARGET和__EVENTARGUMENT的值传递。我想知道,因为这两个值是ASP.net自动生成的隐藏字段用于框架的自动回发功能,并保存特定于启动回发的控件的信息,如果你从来没有手动SQL注入真的有可能在你的代码中调用和/或从这些参数中提取值?
答案 0 :(得分:2)
您应该始终假设可以从表单传递脏数据。允许从回发加载,可以通过javascript从客户端更改__EVENTARGUMENT。
始终使用良好做法以确保不允许sql注入;并使用参数化SQL语句或其他安全方法。
答案 1 :(得分:1)
..如果你从不手动打电话 和/或从这些中提取价值 代码中的参数...
假设上述陈述为真,我认为这些参数不易受SQL注入的影响。也许您进行了自动扫描,这是一种误报?