一、数据库的获取
数据库对网站重要性不言而喻,那么黑客是通过什么手段得到网站数据库的呢?
1.默认的数据库路径
很多站长建站或论坛使用的都是现成的整站程序,这就造成了一个很大的安全隐患,即默认的数据库的路径。虽然在这些程序的说明文档中都提示修改数据库的默认路径,但是仍有些安全意识不高的站长不屑于修改或者不会修改。这样当黑客在该网站的地址后输入默认数据库的路径,就可以轻易下载到数据库。
2.暴库显示路径
什么叫“暴库”,简单得说就是构造特殊地址使网站程序运行出错,从出错的信息中得到数据库的路径。暴库并不是一门十分高深的技术,但是却可以很快得找到数据库路径,而且成功率很高。要想进行暴库,首先需要对IE进行设置,运行IE,点击“工具”菜单→“Internet选项”,切换到“高级”标签,将“显示友好HTTP错误信息”前面的勾去掉,然后保存,这样做是让浏览器返回真实的错误信息,而不是类似505错误,405错误等经过处理后的错误信息。找到一个存在暴库漏洞的程序,例如较早版本的“动力文章系统”。打开““动力文章系统”的任意页面,在IE地址栏中将该页面地址出现的最后一个“/”替换为“%5c”,然后回车,如果暴库漏洞存在,那么数据库路径将会马上显示出来。
3.防下载设置不够严密
排除程序的原因,数据库被下载很大一部分的原因是人为因素。有些站长已经认识到数据库的重要性,虽然没有修改默认的路径,但是将数据库默认的后缀名“mdb”改为了“asp”,这样即使别人知道了数据库的路径,也无法在浏览器中进行下载,而是直接在页面中显示数据库的内容,当然都是一些乱码。不过我们虽然无法在浏览器中下载,却可以借用专用的下载软件来实现数据库的下载,或者将页面中出现的所有内容复制到一个文本文档中,然后将这个文档的后缀名改为“mdb”。
还有一种情况就是站长在数据库的文件名中加入了“#”符号,例如原来的数据库名为123.mdb,加入“#”号后变成“#123.mdb”,这样当我们在地址栏中直接输入“http://www.***.com/#123.mdb”,是无法下载数据库的,而是显示“无法找到网页”。这是因为浏览器的编码格式会默认将“#”号变为“%23”,这样就成了另外一个网址,当然不可能下载到数据库。那么我们反过来将“%23”替换为“#”,填入到网址中,数据库不就可以正确下载了吗?
二、破解数据库中的管理员账户信息
得到数据库后可以做什么?可以归结为以下几点:1.破解得到网站管理员的账户名与密码;2.得到网站注册用户的信息;3.查看一些普通用户无法查看到的资料。其中最有价值的就是保存在数据库中的管理员账户信息。能成功得到管理员的账户密码,我们就成功了一半。
得到网站的数据库后(这里指的是Access数据库),将数据库的后缀名改为mdb,这样我们就可以使用“Microsoft Office Access”来打开数据库,通常在“admin”表中的就是管理员的账户信息。对于安全性不高的网站程序,管理员的账户名和密码会以明文的形式显示,这样我们就省去了破解这一步。而绝大部分的网站程序都对管理员的密码进行了md5加密。md5是一种不可逆的加密算法,加密过的数据不可能再还原,因此我们必须通过暴力破解,来获取密码原文。
1.网站破解
破解md5的最快方法是通过专门的破解网站。登陆“http://www.xmd5.org/go_cn.htm”,点击页面中的“解密”链接进行破解,将加密后的密文填入到文本框中,然后点击“给我转”,即可破解得到密码,但是这类网站有其局限性,只能破解简单的密码,而遇到强悍的密码就无能为力了。
2.软件破解
除了通过网站破解,我们还可以使用专门的md5密码破解工具。下载“md5crack”,无需安装可直接运行。运行后可以看到两个设置选项,分别是“密文设置”、“字符设置”,在“字符设置”中可以对破解形式进行选择。我们将需要破解的密文输入到“密文设置”中的“破解单个密文”文本框中,软件也可以同时破解多个密文,选中“破解多个密文”,点“设置”即可。
软件对md5密文采用两种破解方式,“暴力破解”和“字典破解”,前者采用猜解来得到密码,后者是通过字典中已存在密码与需要破解的密文进行对比得出密码。对于比较常见的密码,使用“字典破解”的成功率是很高的。这里我们选择“暴力破解”来演示。在“字符设置”中选中“使用字符集”,然后勾选“数字”,这样就可以破解密码为数字的密文,当然我们也可以同时选中其他选项,不过破解时间会相应变长。设置完成后点击“开始”,即可开始破解工作。软件的破解速度很快,对于不太复杂的密码可以很快破解。
三、利用网站数据库备份功能,得到webshell
由于各种网站程序的编写越来越人性化,都在其后台管理增加了数据库的备份恢复功能,而这个功能却被黑客敞开了大门,通过数据库备份功能,我们可以轻易得得到网站的webshell,从而进一步渗透。
我们以著名的动网论坛7.0sp3版本为例,假设我们已经下载到了数据库,并利用数据库里的数据,破解得到了管理员的账户名和密码。我们以管理员的身份登陆,在论坛发表一篇帖子,然后将我们的asp木马以附件的形式上传到服务器,这里需要将asp木马的后缀名改为jpg,才能正常上传。上传成功后得到类似“UploadFile/2006-3/123.jpg”的地址。登陆论坛的后台管理页面,点击页面中的“恢复数据库”选项,接着会出现“恢复数据库”页面,在其中的“备份数据库路径(相对)”中填入我们上传附件成功后的地址,然后在“目标数据库路径(相对)”中填入muma.asp,点击“恢复数据”即可。这样就会在论坛的根目录中生成我们的muma.asp,直接输入地址就可以得到webshell了。
四、数据库的恶梦,C/S型asp木马
所谓的C/S型asp木马,就是客户端和服务端分开的asp木马。这种asp木马运作方式是:先将服务端代码插入到网站的数据库中,然后通过客户端程序进行连接,连接上后就可以像普通asp木马那样进行操作。不过C/S木马的运行条件是目标数据库的后缀名必须已改为asp或asa,对于后缀名为mdb的数据库则不起任何作用。下面我们通过C/S木马来获取一个webshell。
首先需要得到目标网站的数据库路径,并且确认数据库的后缀名为asp或asa。然后来到网站任何可以将数据写入数据库的地方,将我们的asp木马服务端“<%execute(request("cmd"))%>”(其中cmd是连接密码,可以修改为自己的密码)提交到网站上,这样数据库中就有了我们的木马服务端。然后我们运行目前较为成熟的C/S木马“lanker微型asp后门”,在“木马地址”中写入网站数据库的路径,然后在“基本功能列表”中选择“环境变量”,点“提交”就可以成功连接到服务端了。连接后可以在“基本功能列表中”选择相应的功能进行操作,和一般的webshell无异。
五、打造数据库的“铜墙铁壁”
数据库的防下载其实并不难,如果自己对网站所在的服务器有管理权,那么防下载只需在网站程序上做一下简单的设置。如果网站是建立在虚拟主机上的,也只需编写一个数据库防下载的asp文件即可解决问题。
1.更改数据库路径
如果自己对网站所在的服务器有管理权,那么我们可以将网站程序和数据库放在不同的目录中,例如将网站程序放在c:/web文件夹中,将数据库放在d:/data文件夹中,然后在网站程序中将数据库的指向改为“d:/data/数据库文件”即可。因为数据库不在网站目录下,因此不存在被下载的问题。
2.编写防下载asp文件
如果网站是建立在虚拟主机上的,可以在数据库中添加防下载表。首先将网站数据库改为asp后缀,然后用记事本打开“数据库防下载.asp”(本文相关软件包中有提供),将第二行中的数据库地址改为自己网站的数据库地址,然后将这个asp文件上传到网站上,用浏览器执行一次即可。文件执行完毕后会在数据库中添加防下载表,这样当输入数据库地址时会出现“无法显示该页”的错误信息。
3.入侵后的补救措施
黑客利用下载数据库入侵后,通常会留下一些asp木马,作为后门控制网站。因此如果发现网站被入侵,检测asp木马是否存在也是一件十分重要的事。对于asp木马的检测,可以使用“思易asp木马追捕”,它可以像杀毒软件一样通过特征码来查找存在于网站中的asp木马。因此有“越轨操作”的asp文件都会被其列入黑名单。同时对于每个asp文件所拥有的权限都将以列表的形式显示,具有危险性的asp文件一目了然。
新闻热点
疑难解答