SQL盲注

SQL注入是指未经授权对数据库进行的非法检索、写入等操作。造成SQL注入的主要原因是应用程序存在的漏洞导致未经授权的访问。这类应用程序主要是网络应用程序。
SQL注入的风险非常高,不下于溢出漏洞的风险,溢出漏洞的攻击行为发生在绕过防火墙之后,而SQL注入往往直接发生在正常访问请求之中。
目前对SQL注入的防御建议主要是以下几种:
1)对提交的请求数据进行合法性验证
2)对提交的数据进行封装
3)封装错误信息
4)过滤敏感字符及关键字
建议1是最合适的解决方案,但在大量的网络应用程序之中,作到这一点却相当困难,开发者或多或少会忽略或者缺乏安全风险,因此方案1是最难实施的。方案2仅针对ORACLE数据库,需要对RDBMS的支持。方案3是采用最多的方案,对错误的信息进行封装,攻击者无法获取到需要收集的信息,在一定的程度上能防止攻击行为的继续。方案4存在一定的问题,攻击者可能通过手段绕过这样一种过滤继续实施攻击行为,较常用的方法是方案3和4的结合。
事实上,对错误信息进行封装并不一定能阻止攻击者的入侵行为,封装的错误信息,但是攻击己经形成,有攻击者能根据封装的错误信息对攻击结果进行判断,继续实施攻击。
其实盲注就是通过封装的消息来收集攻击过程中需要的信息。
posted @ 2011-12-19 19:07  0x0001  阅读(1991)  评论(0)    收藏  举报