二、解密SQL注入漏洞
由SQL注入漏洞导演了一场CSDN密码门事件,其破坏性和影响力之大,让人震惊。那么,何谓SQL注入漏洞呢?
据清华同方专家介绍:“SQL注入漏洞是已经盛行很久的黑客攻击行为,黑客通过网站程序源码中的漏洞进行SQL注入攻击,渗透获得数据库的访问权限,获得账号及密码只是其中最基础的一个内容。这种漏洞还会导致主机权限的丢失,关联认证系统的窃取等。”目前,SQL注入漏洞广泛存在于互联网和私有网络当中,主要的问题是程序员疏漏造成的结果。虽然目前有很多开发框架能约束程序员的开发行为,但开发者如果执意减少代码,还是很容易造成安全性问题的存在。
在先进的开发过程中,对源代码编译和发布以后,除了功能和性能测试外,CSO们应该通过权威的安全审计工具对网站系统进行安全性测试,检查是否存在SQL注入、跨站脚本和远程恶意程序执行的漏洞。如果存在漏洞,很多时候CSO是有权否决系统上线,防止安全事件的产生。不过这种黑盒审计费时费力,还容易遗漏,不但耽误业务系统上线,同时会引申出来。
但是,本次泄密事件中明确的发现CSDN的网站在上线系统是欠缺这种检测。其中账号密码一部分存在dearbook的字样,显然是对接系统的认证中心被攻破,这部分漏洞如果还不进行修复,即使用户更改密码,仍然会被黑客再次攻击获得用户密码。
人类使用密码的思维其实很简单和固定,大部分人会使用一种特殊规则的密码,这种密码很难猜测,但是黑客通过SQL注入的漏洞进行攻击时,却不受这些制约。黑客的这种攻击行为其实是利用了SQL注入的漏洞,获得数据库的访问权限。黑客通过这种权限,就像是开发者一样,向数据库提交查询语句,一步步的获得数据库中的用户账号及密码。
SQL注入漏洞攻击路线图
黑客们在攻击数据库时,有着一些必经的路线图,SQL注入漏洞攻击就好似在问数据库问题:
1、你的名字是什么?
2、你有什么表格?
3、表格中有什么列?
4、某列的第1行长度是多少?
5、第1位是不是a?b?c?d?……z?
6、第2位是不是a?b?c?d?……z?
7、第N位是不是a?b?c?d?……z?
8、如果拿到账号及密码则到公共网络进行密文的破解,如果是明文则直接使用。
9、登录认证系统,使用获取到的账号密码权限去申请资源或欺骗基于信息系统的信任成员。
下面这张图会看的更清晰一些:
本图中就是数据库的结构,其中简单攻击只要猜测数据库名、表名、列名、字段名就可以,一般程序员的开发都是见名知意的方式进行开发,由其具有通用性的程序。一般把数据库、表、列的名字起的比较有创新时会防御这种攻击。
但是,除了猜表外,数据库提供一种坐标查询的方法,以横坐标和纵坐标的方式查询。既:
0,1 0,2 0,3 0,4
1,1 1,2 1,3 1,4
2,1 2,2 2,3 2,4
3,1 3,2 3,3 3,4
4,1 4,2 4,3 4,4
黑客只要知道坐标位置,既可以从数据库中获得目标的数值。
通过以上程序,黑客们一步步抽丝剥茧地把一个个门槛给破解,直至将对方的数据库裸露在它的视线之下,毫无隐私可言。
(责任编辑:)