您的位置:首页 > 其它

对某公司站点的一次安全检查

2007-07-30 16:07 232 查看
[align=left]通过本文你可以学到:[/align]
1.如何在线对站点进行安全检查
2.对安全漏洞综合判断的一种思路
由于近两年来,安全站点如雨后春笋般冒出来,加上国内著名安全杂志“黑客手册”、“黑客在线”等推出,很容易下载一个安全攻击工具对站点或者网络进行攻击,而由于网站程序具有较大的移植性,因此某一个程序(论坛程序、blog程序)可能在网上广为流传和使用,一旦出现安全漏洞,将会造成安全事件。本文主要对一个www.techtronics.com.cn站点进行安全检测,造成系统存在漏洞,并进行了安全渗透测试,最终给出安全建议。下面将其安全检测过程写出来跟大家一起分享。
(一)漏洞踩点
“漏洞踩点”,哈哈,跟偷东西似的,其本质是一样的,不过偶在此罗唆两句,一个网站,当其文件数量巨大的时候,就要进行冷静的思考,对网站总体架构,网站目录结构,网站使用的脚本类型等等进行分析。网站目录可以通过下面三种方式获取:
(1)网站根目录robots.txt文件。大型网站一般都存在robots.txt文件,如果网站做了搜索限制,则网站文件目录结构可以通过robots.txt文件获取,robots.txt文件中包含很多内容,不懂的朋友可以去百度搜索一下,使用robots主要为了限制或者鼓励搜索引擎搜索,可以允许或者禁止对某些敏感的内容进行搜索,而文件往往位于这些目录中。
(2)flashget的资源管理器。在Flashget的资源管理器中输入网站的地址,然后双击地址,系统会自动将网站的目录以及文件显示出来。
(3)使用HDSI、Domain3.5的后台扫描,不过这种扫描主要是对存在文件的扫描。
在本例中,由于是一般公司站点,没有这么复杂,在浏览器中输入网站地址,然后看看那些地方存在诸如“*.asp?id=***”的网页,然后通过手工在其地址后面输入输入“and 1=1”等字样,看看程序是否出错(图1),这个过程其实就是寻找SQL注入点。



[align=center]图1 寻找SQL注入点[/align]
SQL注入点查找完成后,可以在看看网站是否存在Blog、BBS论坛等,这些也往往是存在安全漏洞的地方,凑巧的是该公司网站存在论坛,如果存在论坛或者Blog,则需要获取程序使用的是什么版本,该公司BBS使用的是BBSxp 5.00.SP1版本图2。



[align=center]图2 获取论坛版本[/align]
(二)在线寻找漏洞信息
如果站点存在blog或者bbs,获取其版本以后可以在google或者百度中输入“版本号漏洞”获取目前对于该漏洞的利用方法,存在漏洞的描述,在本例中输入“BBSxp 5.00.SP1 漏洞”,单击出现的搜索结果(图3),其中漏洞描述为程序默认数据库文件位于database目录下,且默认文件名称为bbsxp.mdb,呵呵,那还等什么,直接输入网站地址:http://www.techtronics.com.cn/bbs/database/bbsxp.mdb,下载access数据库文件(图4)。



[align=center]图3 网上关于漏洞利用方法[/align]



[align=center]图4 下载Access数据库文件[/align]
(三)数据库内容分析和获取
将数据库下载到本地以后,对直接打开看看数据库中的user、admin、config等等感觉跟管理员或者用户或者配置有关的表,从中获取一些可用的信息。如果是论坛,可以结合论坛管理员和版主的昵称从用户表中获取用户名和密码(图5)。对于Access数据库,用户名一般情况下没有进行加密,对密码一般采用md5加密。将版主或者管理员跟其对应的密码值复制出来进行破解。



[align=center]图5 查看数据库内容[/align]
说明:BBSxp早期版本中,还存在一个漏洞,数据库表log会记录管理员的密码。
在对本站点安全检查中,通过分析bbsxp.mdb数据库中的clubconfig表,我们获取网站管理员密码值为“4EDE4A7AC3071562776D5C675606287C”(图6)



[align=center]图6 管理员密码md5值[/align]
(四)查找后台地址和工具猜解
如果网站不存在blog或者bbs,或者其blog和bbs版本已经是最新版本,根本就不存在漏洞,这个时候又得回到第一步,进入sql注入猜解阶段。将存在sql注入点的地址输入sql注入工具明小子的Domain3.5或者教主的HDSI3.0。个人觉得教主的HDSI3.0对SQL Server注入型数据库比较好用,而对于Access数据库,则明小子的Domain3.5好用。SQL注入工具软件可以很好的猜解数据库中的敏感内容,比如admin表、user表等,如果数据库表中字段不太长,一般都能将表中字段值猜解出来(图7)。



[align=center]图7 使用Domain3.5猜解数据库中的值[/align]
说明:SQL注入最本质的东西就是猜解数据库中用户名称和密码,借助这个进入后台进而上传web设立了,达到提升权限否则挂马的目的。
在HDSI3.0和Domain3.5中的后台地址扫描功能非常好用(图8),将sql注入点的地址输入其中,单击“扫描后台地址”即可,如果存在,选择直接直接访问即可。



[align=center]图8 扫描后台地址[/align]
(五)破解md5密码值
对于SQL注入点猜解出来的结果一般有两种情况,一种是明文,程序未对数据进行加密;另外一种情况就是对数据进行了加密。第二种情况还得小心,目前虽然md5加密比较普遍,而且md5存在冲撞,按照数学家王小云的理论,md5在理论上是可以破解的。但是如果作者采用password(y)=md5(X)+a,这种情况就比较麻烦了,所以稳妥一点的,可以注册一个用户名和已经密码进行核对,如果你自己的md5值跟网站的md5值不椅子,呵呵,劝你就不要去弄了。对于md5的破解工具有很多,例如md5crack3.0可以对md5进行爆破,本例中,对md5值在md5crack3.0进行了破解,跑了3天都没有破解出来,后面通过在线破解,在http://www.cmd5.com网站竟然破解成功,密码为“x015x33”(图8),居然是数字与同一个字母的组合。



[align=center]图9 在线破解md5密码值[/align]
技巧:
本文在破解md5值,走了一些弯路,目前网上有很多站点提供在线破解,其原理是将密码值和密码放入数据库中,输入密码值查询密码。如果通过在线实在查找不到,再进行暴力破解,暴力破解时,要由简单到复杂。否则破解时间较长,浪费电力资源!
(六)登陆后台并修改相应设置
bbsxp早期版本中,只要输入管理密码即可登陆后台,其后台登陆地址为admin.asp,输入后台地址进行登陆(图10,图11)。



[align=center]图10 登陆后台[/align]



[align=center]图11 进入后台管理[/align]
进入后台以后,对后台的各个功能大致看看,需要设置管理、初始设置、上传文件管理等地方,看看是否存在上传文件类型限制,如果有则修改上传文件类型限制,在允许上传上传文件限制中加入asp/asa等,在本例中,在允许上传文件类型中添加一个“|asp”(图12),并进行更新。



[align=center]图12 添加允许上传文件类型[/align]
(七)上传文件
上传文件这个很简单,在论坛中发表一个帖子,输入主题和内容,然后上传一个asp的webshell,帖子发表成功以后,会显示附件(图13)。有的论坛可能不能修改文件上传类型,这个时候可以通过domain3.5中的辅助工具,看看能否进行上传方面的突破,或者直接加入管理用户。



[align=center]图13 上传webshell文件[/align]
(八)查看webshell并进行控制
单击(七)中的附件进入webshell登陆界面,输入正确密码后,进入webshell控制界面(图14,图15)。



[align=center]图14 webshell登陆[/align]



[align=center]图15 webshell控制[/align]
进入webshell控制界面以后,可以对网站文件进行查看,提升权限以及挂马等操作,由于是安全检查,因此需要看看网站文件时候进行了挂马。
(九)安全评估结果和补救措施
通过安全检查,我们发现网站bbs论坛来自2004年,3年时间了,竟然未对论坛进行升级,其网站凡是存在id输入的地方均为sql注入点,网站网页文件中存在多大53处挂马地址,安全评估结果为极不安全,安全风险极高。其补救措施如下:
(1)升级bbsxp论坛程序到最新版本
(2)使用原备份程序替代现有程序,对存在sql注入点地方修改程序注入点。
(3)后台维护建议修改为指定ip地址或者ip段
说明:本次安全检测是对实际站点进行,检查完毕后,已经将安全建议给公司管理员,文中未对IP地址和站点进行处理,如果继续存在漏洞,请不要做破坏。
(十)结束语
本文对一个公司站点进行了安全检查,对存在漏洞的地方进行了安全渗透,其结果渗透安全检查过程是成功的,可以成功进入后台程序,可以进行挂马等操作。通过漏洞检测给出了安全补救措施,虽然技术难度不高,当对于公司站点安全具有一定的参考意义。本文出自 “simeon技术专栏” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: