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

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

缺陷编号:wooyun-2015-0145711

漏洞标题:mao10cms文件包含漏洞(有条件)

相关厂商:mao10.com

漏洞作者: pang0lin

提交时间:2015-10-12 14:04

修复时间:2016-01-11 15:32

公开时间:2016-01-11 15:32

漏洞类型:文件包含

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

mao10cms有条件的文件包含漏洞

详细说明:

1.mao10cms采用了mysqli的数据库操作方式,而且所有的数据库操作都是参数绑定的,蛋疼。只有来看一个有条件的文件包含漏洞了。漏洞文件index.php

<?php
require "do/functions.php";
$conn = mysql_connect($mysqli['host'],$mysqli['username'],$mysqli['password']);
if($conn) :
$mod = strtolower(isset($_GET['m']) ? $_GET['m'] : "index");
$act = strtolower(isset($_GET['a']) ? $_GET['a'] : "index");
require "mod/{$mod}.php";
$app = New Maoo();
$app->$act();
else :
require "gdb.php";
endif;


2.这里的$_GET['m']直接传入了require,二没有经过过滤,那么就可以考虑截断的文件包含。两种方式,一种是%00,一种是超长文件。两种都有条件,大家懂得。这里以%00为例,注册一个用户,上传一张图片马

1.png


然后下面可以获取到图片的路径,直接进行包含
**.**.**.**:8080/mao10cms/?m=../upload/20151010/20151010024141_37891.jpg%00

2.png


。应该不用说也知道这是一个马了吧

漏洞证明:

2.png

修复方案:

过滤

版权声明:转载请注明来源 pang0lin@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2015-10-12 14:25

厂商回复:

感谢指正

最新状态:

暂无