随着B/S架构技术的高速发展和快速应用,现在几乎所有的企业、政府单位都拥有了自己的网站。对外有自己的企业门户网站,对内有OA、ERP、CRM等基于B/S架构的Web应用。与此同时,攻击者也把目光转向了这块,现在每天都有大量的网站因为存在各种安全漏洞被入侵。轻则网站页面被篡改,重则机密数据被窃取,甚至整台服务器沦陷。一旦遇到这样的事件,不仅会对企业形象造成非常巨大的负面影响,也会带来实际损失,有时这种危害甚至是灾难性的。作为一名网站管理人员,非常有必要对这块给予足够的重视。涛涛电脑知识网
本文用到的技术和相关工具
技术:SQL注入、文件上传检测绕过、后门木马
工具:Havij(一款SQL注入漏洞扫描和利用工具)、PhpSpy2008后门木马、中国菜刀一句话木马
入侵网站的典型步骤
一个技术比较成熟的攻击者在入侵一个目标网站时,一般会经历以下三个阶段:
一、信息收集
这一阶段的目的就是通过技术或社会工程学手段去收集目标的各种信息,比如操作系统类型、网站脚本类型、目标网站采用的数据库类型等。这个阶段收集到的信息越全面、越详细,对下一阶段实施入侵的帮助越大。一个成熟的攻击者在实施入侵前会花大量时间去收集目标网站的各种信息,在实施入侵时直取目标网站的“命门”,决不拖泥带水,争取一击致命。这一点也是一个成熟的攻击者与刚入门的攻击者之间的区别。
二、实施入侵
这一阶段中,攻击者会对信息收集阶段得到的信息进行分析、汇总,决定采用哪种方法对目标实施入侵,然后利用目标存在的安全漏洞和弱点对其实施入侵。在这一阶段,攻击者通常会得到一个权限相对比较低的Webshell。
三、提权和善后处理
如果在上一阶段攻击者直接得到了一个高权限的Webshell,那么他一般会添加一个后门,方便以后对目标进行控制,最后还会清除入侵痕迹。但更多情况下,攻击者会得到一个权限相对较低的Webshell,这时就需要做提权操作,来获取到系统的管理员权限。因为篇幅的限制,这里不对提权和清除入侵痕迹做介绍,在以后的文章中会有详细的介绍。
入侵网站全过程
通过上面的介绍,相信读者对攻击者入侵网站的过程和主要步骤都有了一个简单的认识。那么,下面我们就通过一个实例来更深入、直观的了解这个过程。
目标网站:
入侵目标:得到目标网站数据库中的数据,并下载回本地。
步骤一 信息收集
首先,我们先来看下目标网站,界面如图1:
图1
通过网站页面,我们发现目标网站是用PHP脚本语言开发的。我们继续查看其他页面,当我们点击“在线留言“的链接时,会出现一个如图2所示的页面:
图2
我们来看下它的URL,?Id=41,这是一个典型的PHP动态页面。看到这个URL是不是很容易想到SQL注入?下面我们就通过手工的方式来探测下该页面是否存在SQL注入漏洞吧!
1. 首先,我们先在上面的URL后面添加一个单引号,看返回的页面是否正常。结果发现返回页面异常,提示“不好意思,操作失败了”。
图3
2. 接着我们在URL后面添加“+and+1=1”,发现返回的页面和正常页面相同。
图4
3. 最后我们在URL后面添加“+and+1=2”,发现返回的页面和正常页面不同。
图5
OK,通过上面三步我们可以确定此页面存在SQL注入漏洞。
步骤二 实施入侵
通过上一阶段得到的信息,我们确定目标网站存在SQL注入漏洞,下面利用SQL注入漏洞来得到我们感兴趣的内容。
为了方便,此处直接用SQL注入漏洞利用工具来得到目标网站的相关信息。如果读者对SQL注入漏洞的原理和详细手工利用过程感兴趣的话,可以查看之前的拙作,里面有详细的介绍和相关实例。
这里我们使用Havij(业界非常著名的一款SQL注入漏洞扫描和利用工具)。首先打开Havij,在“target”处输入存在SQL漏洞的URL,其他选项使用默认配置即可,完成后点击“Analyze”按钮,软件开始运行,如图6所示:
图6
很快,Havij就返回了结果,我们得到了目标网站数据库和其他一些信息,在图7中我们得到了目标网站后台的管理员账号和密码。
图7
密码是用MD5加密过的,解密后得到的明文是“654321”。
图8
现在我们得到了目标网站后台的管理员账号和明文密码,只要找到网站的后台地址,就可以登录进入网站后台了。下面我们来找一下网站的后台地址吧,还是用Havij来完成,如图9所示。
图9
好,现在我们来访问一下图9得到的网站后台地址,后台界面如图10。
图10
输入前面我们得到管理员账号和密码,成功进入网站后台,如图11。