3

对我们的一个 ASP.net 应用程序进行了安全审查,并在测试结果中返回被认为是高风险项目的 SQL 注入暴露。

执行的测试通过了一条 SQL 语句作为 __EVENTTARGET 和 __EVENTARGUMENT 的值。我想知道,因为这两个值是 ASP.net 自动生成的隐藏字段,用于框架的自动回发功能并保存特定于启动回发的控件的信息,如果您从不手动操作,是否真的有可能进行 SQL 注入在后面的代码中调用和/或从这些参数中提取值?

4

2 回答 2

2

您应该始终假设可以从表单中传递脏数据。允许从回发加载它,可以通过 javascript 从客户端更改 __EVENTARGUMENT。

始终使用良好的做法来确保您不允许 sql-injection;并使用了参数化的 SQL 语句或其他安全方法。

http://msdn.microsoft.com/en-us/library/ms998271.aspx

于 2010-04-05T19:20:55.027 回答
1

..如果您从未在后面的代码中手动调用和/或从这些参数中提取值...

假设上述陈述为真,我认为这些参数不会受到 SQL 注入的影响。也许您运行了自动扫描,这是一个误报?

于 2010-04-05T19:14:07.477 回答