报告错误代码考虑SQL注入?

时间:2010-06-09 11:36:56

标签: sql database security sql-injection

实际运行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'作为查找的原因。

2 个答案:

答案 0 :(得分:4)

这显然是一个SQL注入漏洞,需要修复。

在您的方案中有几个原因:

  • 查找您描述的附带信息可能对攻击者有用,特别是如果他们有其他攻击媒介。
  • 我们鼓励发现此漏洞的攻击者去寻找更多漏洞。这里的马虎可能意味着其他地方的草率。
  • 在安全方面,重要的是不要太聪明。您的攻击者可能比您更了解或更多。因此,对于你而言,一个包容的漏洞可能会让你感到难以忘怀。

是的,你的工具正在做正确的事。

答案 1 :(得分:2)

我会说是的!您注入一个SQL字符串并获取您不应该获得的信息。我认为这已经足够“有害”了。