sql - 报告的错误代码是否被认为是 SQL 注入(inject)?

标签 sql database security sql-injection

实际运行 SQL 命令的 SQL 注入(inject)是一回事。但是,注入(inject)的数据实际上并没有运行有害查询,但可能会告诉您有关数据库的一些有值(value)的信息,这是否被视为 SQL 注入(inject)?或者它只是用作构建有效 SQL 注入(inject)的一部分?

一个例子可能是

set rs = conn.execute("select headline from pressReleases 
where categoryID = " & cdbl(request("id")) )

传递一个无法转换为数值的字符串会导致

Microsoft VBScript runtime error '800a000d'
Type mismatch: 'cdbl'

这会告诉您所讨论的列只接受数字数据,因此可能是整数或类似类型。

我似乎在很多讨论 SQL 注入(inject)的页面中都发现了这一点,但如果这本身被认为是 SQL 注入(inject),就没有真正得到答案。我的问题的原因是我有一个扫描工具报告 SQL 注入(inject)漏洞并报告 VBScript 运行时错误“800a000d”作为发现的原因。

最佳答案

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

在您的场景中有几个原因:

  • 找出您描述的附带信息可能对攻击者有用,尤其是当他们有其他攻击媒介时。
  • 发现此漏洞的攻击者会被鼓励去寻找更多漏洞。这里马虎可能意味着其他地方马虎。
  • 在安全方面,不要太聪明很重要。您的攻击者可能比您知道的更多,或者更多。因此,在您看来像是一个封闭的漏洞可能对其他人来说是一扇敞开的大门。

是的,您的工具正在做正确的事情。

关于sql - 报告的错误代码是否被认为是 SQL 注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3005404/

相关文章:

MYSQL 获取两个值之间的差异

sql - 针对旧帖子列表优化 WordPress SQL 查询

mysql - 我可以在树莓派上创建一个没有mysql的数据库吗

mysql - 问卷解密数据库ER图

windows - 如何在Windows进程之间传输敏感数据?

javascript - 如何保护chrome打包的app源代码?

sql - SQL-处理PHP中的错误(重复输入)

sql服务器: Any way to group records by date based on the dates of other records?

database - 标签系统中标签的 ID

security - 这对于客户端代码安全吗?