【发布时间】:2010-06-09 11:36:55
【问题描述】:
实际运行 SQL 命令的 SQL 注入是一回事。但是注入实际上不会运行有害查询但可能会告诉您有关数据库有价值的数据的数据,这是否被视为 SQL 注入?还是只是用作构造有效 SQL 注入的一部分?
一个例子可以是
set rs = conn.execute("select headline from pressReleases
where categoryID = " & cdbl(request("id")) )
传递一个无法转换为数值的字符串会导致
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'cdbl'
这会告诉您有问题的列只接受数字数据,因此可能是整数或类似类型。
我似乎在很多讨论 SQL 注入的页面中都发现了这一点,但如果这本身被认为是 SQL 注入,我并没有真正得到答案。我的问题的原因是我有一个扫描工具报告 SQL 注入漏洞并报告 VBScript 运行时错误“800a000d”作为发现的原因。
【问题讨论】:
-
仅仅因为您不一定知道如何构建恶意攻击向量,并不意味着其他人都不知道。在你的 sql 中使用绑定参数来消除任何注入的可能性。
标签: sql database security sql-injection