图文详解网站SQL注入攻击解决全过程

安全 黑客攻防
在发现网站被进行了SQL注入之后,一定要对网站应用程序进行多方面的测试查找,这样才能找到注入点,并对网站进行全面加固。

【51CTO.com 综合消息】2009年3月17日上午,冠群金辰公司的工程师小李刚到公司,就接到了用户的电话:“怎么回事?我们的网站从今天早上开始就不能正常访问,是不是被黑了?”网站出了问题的用户显得格外着急。

小李打开用户的网站主页,发现果然无法访问,页面一片空白,只是显示出如图1的一行英文,果然是受到了黑客攻击: 

 

找到问题

小李当即决定赶到用户现场解决问题,确定网站受到了何种攻击。赶到现场之后,经过简单的测试,他判断用户主页是被进行了SQL注入攻击,因此不能正常访问。

什么叫做SQL注入?其实就是一种利用一些网站程序员在编写代码的时候,没有对用户输入数据的合法性进行判断从而使应用程序存在的安全隐患,提交一段数据库查询代码,从而获得某些非公开数据的黑客攻击行为。也就是所谓的SQL Injection。

于是小李利用专业的工具,对用户的网站进行了风险评估。结果不出所料,用户的网站存在着不少可以被黑客们利用的漏洞。

首先小李使用专业的测试工具,对网站进行了测试评估,评估结果如图: 

 

从工具测试来看,此网站共有6个SQL注入点,48个 跨点攻击点!因此这个网站存在着很大的安全风险,需要立即对代码的安全加固进行防御,以保证网站的安全。

解决问题

随后,冠群金辰工程师对用户网站代码进行了人工分析,针对SQL的注入点进行查找,通过对数据库进行分析,发现早在2月份,用户的数据库已经被进行了SQL注入,以下是通过分析找到的多个表的注入点,如图:  

 

小李很快就将通过SQL注入而被破坏的数据进行了恢复,并且针对检测出来的漏洞,对用户网站进行了全面的安全加固,使网站得以正常访问。而整个过程,从小李来到客户现场之后到最终解决问题,只不过用了区区1小时!

小李告诉用户,SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。直到一段时间之后发现网页不能访问,才会发现网站早已经被侵入。而在发现网站被进行了SQL注入之后,一定要对网站应用程序进行多方面的测试查找,这样才能找到注入点,并对网站进行全面加固。

想要避免网站受到SQL注入,冠群金辰工程师有以下安全建议:

1.建议关闭或删除不必要的交互式提交表单页面,因为他们是黑客进行SQL注入的途径,关闭这些交互式页面可有效的阻止某些XSS跨站脚本的攻击与注入。而最有效的防治注入及跨站脚本攻击的方法,是在代码层就屏蔽掉不安全的script等危险字符。

2.对漏洞注入点相关代码进行代码及SQL注入关键字的过滤,以规范代码安全性。

3.不要在服务器端放置备份的文件以免受到感染,或备份的文件含有漏洞,造成切入点,比如index1.asp index2.asp products1.asp等。

责任编辑:许凤丽 来源: 51CTO.com
相关推荐

2011-09-06 15:38:20

QT安装

2010-03-10 13:24:45

Zend Debugg

2009-06-15 16:05:00

NetBeans ID编译odinms

2009-11-02 14:53:30

Oracle创建用户权

2010-01-19 16:08:59

2011-02-22 10:46:02

Samba配置

2009-06-09 16:17:45

SQL Server

2009-12-10 19:02:30

2009-12-08 17:56:16

WCF配置

2011-04-18 15:56:10

软件测试

2015-06-08 09:43:18

青云QingCloudIDC

2015-07-08 09:57:59

Git服务器分步详解

2011-01-21 17:51:52

2009-04-13 12:37:18

2010-03-01 17:01:03

Python编程技巧

2012-11-06 10:19:18

Java自定义加载Java类

2009-06-10 16:55:42

cygwin netb安装

2010-06-17 13:10:09

Linux Grub修

2010-11-19 10:11:49

Oracle物化视图

2011-03-11 10:39:02

YUM安装LAMP
点赞
收藏

51CTO技术栈公众号