【TechTarget中国原创】数据库安全专家David Litchfield正在研究利用多种不需要输入的PL/SQL程序的新方法。他把这型技术描述为侧面SQl注入,可以对Oracle数据可进行远程攻击。
这种攻击利用一些普通的数据类型,包括DATE和NUMBER,它们不需要使用用户的输入,所以通常不被认为可以攻击。但是,Litchfield在他关于侧面注入攻击的新文章中写道,使用一点创造性译码和一些Oracle数据可管理系统工作方式的知识,黑客就可以操作一些一般的功能。
Litchfield是英国NGS Software公司的创始人之一,他说这个问题可能不会那么容易的攻击,但是特殊情况下,它可以被用于向数据库传输任意SQL命令。
PL/SQL是Oracle公司的SQL(structured query language)的延伸。
“总之,如果使用SYSDATE,那些不需要用户输入的功能和程序就有可能受到攻击。这里的教训总是会得到验证,防止这类攻击进入你的代码。第二个教训是DATE或者NUMBER不应该再被认为是安全的,也不会和注入携带者一样有用:这篇文章证明,他们是。”他写道。
这类攻击工作模式如下:使用SYSDATE功能,黑客可以使用alter SESSION权限欺骗SQl编译器,接受任意的SQL数据作为DATE数据类型的输入。DATE_PROC使用变量V_DATE在调用SYSDATE功能后,设置数据。尽管如此,通过改变讨论(altering the session)和插入SQL命令,黑客可以迫使数据库执行他的命令。
黑客的攻击不需要本地访问数据库。
“可以通过远程完成,例如,借助一个Web应用程序,通过SQL注入漏洞,但是不是直接进入。” Litchfield在邮件采访中,如此说。“首先,我们攻击注入点来执行促进功能,这允许我们运行任意SQL,然后在这里可以使用这项技术。”
Litchfield的文章中有意思的一点是DATE和NUMBER等数据类型被认为是“安全”的事实,意味着他们还没有受到攻击。最近几个月中,这类攻击越来越多,研究人员已经开始深入研究流形的应用程序,在有些情况下发现了严重的新型攻击携带者。
去年夏天,Watchfire公司的研究人员,现在是IBM的一部分,他们发现攻击摇摆指示器的方法,这是一个被认为不能攻击的平常的程序失误。IBM的ISS部门的研究人员 Mark Dowd发表了一篇论文,详细指出了攻击NULL指示器解除参照。
对他来说,Litchfield的新方法不是通过长时间的脑子里的工作,而是通过看电视产生的。
他说:“同时,观看‘Bones’的一段情节,里面发生的一些事情让我想到不要接受默写认为真实东西,比如,在这种情况下,通过DATE和NUMBER数据类型进行SQL注入是不可能的。所以坐下来,想一想我在文章中提出的一些技术。”