0

我如何测试我的页面,该页面使用Request.QueryString.Get("ID")了 SQL 注入。我已经尝试了一些基本的东西,比如www.myDomain/mySite.aspx?ID=1234'and www.myDomain/mySite.aspx?ID=1234',它们都不会导致任何意外。不过,我正在寻找一种确定的方法来测试漏洞。根据这篇文章,看起来我已经实施了正确的机制来防止注入。除了在线文章外,我没有测试此的实际经验。

我正在使用 2 种似乎相当普遍的防御机制

1.) 我有一个清理函数,它删除单个撇号和“&”,并在查询字符串添加 SQL 命令之前对其进行一些格式化。

2.) 我也在使用参数化语句,因此查询字符串成为执行命令的参数。我知道这使整个过程更加安全,因为查询结构已经定义。

4

1 回答 1

3

你的第二点应该绰绰有余。无论 QueryString 是如何传递的,您都不会受到 SQL 注入攻击。除非,您的 SQL 语句实际上是通过字符串连接动态构建查询的存储过程。在这种情况下,您可能会回到原点。

于 2013-08-08T18:23:22.180 回答