如何测试使用Request.QueryString.Get("ID")
针对SQL注入的页面。我尝试了一些基本的东西,比如www.myDomain/mySite.aspx?ID=1234'
和www.myDomain/mySite.aspx?ID=1234'
,这些都没有引起任何意外。我正在寻找一种确定的漏洞测试方法。根据这个post,我看起来已经实施了正确的机制来防止注射。除了在线文章,我没有测试这个的实际经验。
我正在使用两种似乎相当常见的防御机制
1。)我有一个清理功能,删除单撇号和'&'并在添加SQL命令之前对查询字符串执行一些格式化操作。
2.。)我也使用参数化语句,因此查询字符串成为执行命令的参数。我理解这使得整个过程更安全,因为已经定义了查询结构。
答案 0 :(得分:3)
你的第二点应该绰绰有余。无论QueryString如何传递,您都不会受到SQL注入攻击的攻击。除非,您的SQL语句实际上是通过字符串连接动态构建查询的存储过程。在这种情况下,你可以回到原点。