实际运行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'作为查找的原因。
答案 0 :(得分:4)
这显然是一个SQL注入漏洞,需要修复。
在您的方案中有几个原因:
是的,你的工具正在做正确的事。
答案 1 :(得分:2)
我会说是的!您注入一个SQL字符串并获取您不应该获得的信息。我认为这已经足够“有害”了。