### 简要描述:
Mao10cms最新版本可遍历所有用户id致可CSRF提升自己为管理员
测试版本为官方最新版Mao10CMS V3.3.4
### 详细说明:
看到这个 [WooYun: Mao10cms最新版本存在CSRF越权导致管理员发表文章](http://www.wooyun.org/bugs/wooyun-2015-0100943) ,我也来个CSRF,这容易实现,给管理员发条站内信或者留言说自己的商品或网站有问题了,求帮助。热心的管理员就点链接啦。
要提升自己为管理员,首先要知道自己的id,mao10cms可以这样获得自己的id,并且可以遍历所有用户(包括管理员)的用户名及id(无需登陆)。
在查看商品时,访问链接http://localhost/index.php?m=pro&c=index&a=single&id=1,只要把id从1开始加1遍历就可以得到所有用户(包括管理员)的用户名及id,如图,以管理员为例
[<img src="https://images.seebug.org/upload/201505/162345180d6a51f18600ae06d591154800829daf.jpg" alt="查看用户用户名及id副本.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201505/162345180d6a51f18600ae06d591154800829daf.jpg)
知道了自己的id,那就可以通过CSRF来提升自己为管理员了。
Mao10cms在后台修改用户权限时没有对token或referer进行处理,可以CSRF
看看代码吧
```
public function manage($page=1){
if(is_numeric($page)) {
if(mc_user_id()) {
if(mc_is_admin()) {
if(is_numeric($_POST['user_level']) && is_numeric($_POST['user_id'])) {
if($_POST['user_id']==mc_user_id()) {
$this->error('您不能修改自己的身份!',U('Control/index/manage'));
} else {
mc_update_meta($_POST['user_id'],'user_level',$_POST['user_level'],'user');
$this->success('修改用户身份成功!');
};
} else {
$this->page = M('page')->where("type='user'")->order('id desc')->page($page,mc_option('page_size'))->select();
$count = M('page')->where("type='user'")->count();
$this->assign('count',$count);
$this->assign('page_now',$page);
$this->theme('admin')->display('Control/manage');
}
} else {
$this->error('您没有权限访问此页面!');
};
} else {
$this->success('请先登陆',U('User/login/index'));
};
} else {
$this->error('参数错误!');
}
}
```
POC如下:
[<img src="https://images.seebug.org/upload/201505/162347130c75b08252db8a8c3ba341e241afe76c.jpg" alt="POC.JPG" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201505/162347130c75b08252db8a8c3ba341e241afe76c.jpg)
修改过程:
[<img src="https://images.seebug.org/upload/201505/16234725c6ba2ba25ea52fd447166383ff11f051.jpg" alt="执行的语句副本.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201505/16234725c6ba2ba25ea52fd447166383ff11f051.jpg)
修改成功:
[<img src="https://images.seebug.org/upload/201505/16234739c88051f236e1fe678cace786d7775129.jpg" alt="成功副本.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201505/16234739c88051f236e1fe678cace786d7775129.jpg)
### 漏洞证明:
见 详细说明
暂无评论