使用SAX2检测并还原SQL注入攻击流程

 

1.      什么是SQL Injection attacks

随着 B/S 模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。
恶意攻击者通过向服务器提交一段特殊的数据库查询代码,在这种情况下,服务器会返回相应的结果,从而泄露服务器的某些敏感信息,这就是所谓的 SQL Injection attack 。由于 SQL 注入是从正常的 Web 端口进行访问,表面上看起来它和正常情况下访问网页没有任何区别,隐蔽性强且不易被发现,所以目前网络中的主流防火墙都不会对SQL注入攻击进行报警。

2.      SQL注入攻击的危害

目前有近 70% 的攻击行为是基于 WEB 应用,而据 CVE 2006 年度统计数据显示, SQL 注入攻击漏洞呈逐年上升的状态, 2006 年便达到了惊人的 1078 个,而这些还仅限于目前网络上通用的应用程序漏洞。
  SQL 注入攻击主要危害包括:
l         未经授权修改数据库中的数据。
l         未经授权获得网站的后台管理权限。
l         未经授权恶意篡改网页内容。
l         网页挂马攻击
l         XSS 攻击
l         未经授权获得整台服务器的控制权。
l         未经授权添加、删除、修改服务器的系统账号。

3.      使用SAX2检测并还原SQL注入攻击流程

虽然防火墙不能对 SQL 注入攻击进行报警,但有些 IDS 软件却可以对其进行有效检测。下面我们就通过一款名为 SAX2 IDS 软件,对 SQL 注入攻击进行检测,并还原其攻击流程。
SQL 注入攻击的一般步骤是:判断环境寻找注入点、判断数据库类型、猜解数据表、猜解字段、猜解内容。在这个过程中,猜解数据表、猜解字段、猜解内容三个步骤是 SQL 注入攻击的重点,所以我们将分析重点放在这三个步骤。
SAX2 可以对网络中的攻击行为进行实时检测并报警。当网络中存在 SQL 注入攻击时, SAX2 会在 Events 视图中显示其攻击行为,如图 1 所示。
(图 1 SAX2 MS_SQL injection attacks 进行实时报警)
从图 1 可知, SAX2 有效检测到了网络中的 SQL 注入攻击,并将攻击事件在界面中实时显示。
1 中选中的事件信息表示, SAX2 定位到的攻击者的 IP 地址是 192.168.21.103 ,被攻击者的 IP 125.65.112.10 。同时下面的 Original Communication 视图中,可以看到原始内容是“ select * from [dirs] ”,即正在查询当前数据库中是否存在名为 dirs 的数据表。
攻击者会重复此操作,以查询到期望的数据表。在查询到相应的数据名,攻击者会尝试猜解此数据表中的字段。
(图 2 SAX2 分析出当前正在猜解 admin 数据库中的字段)
1 红色圈住的部分,表示攻击者正在 猜解 admin 数据库中的是否存在 paths 的字段。同理,攻击得也会重复猜解字段的操作,以找到相应的字段。
找到相应字段后,攻击者要做的就是判断字段的长度,并猜解字段的内容。解解到字段的内容后,即表示此次 SQL 注入攻击成功完成。(有时猜解出的内容是经过 MD5 加密的,需要对 MD5 的密文进行破解。)
上述内容即是通过 SAX2 检测 SQL 注入攻击,并还原其攻击的过程。从上文可知, SAX2 可以对 SQL 注入攻击进行有效检测,并对其进行实际报警。在网络中,将防火墙和 SAX2 进行结合,可以确保当网络受到 SQL 注入攻击时,可以实际检测并报警,从而保障网络的安全。
查看更多的教程请访问http://www.ids-sax2.com

你可能感兴趣的:(数据库,职场,网络安全,休闲)