### 简要描述:
[Code Audit]EasyTalk任意文件删除漏洞【可重装,并可后台getshell】
### 详细说明:
漏洞代码文件:/easytalk/Home/Lib/Action/settingAction.class.php文件
代码:
```
//保存头像
public function doface() {
$ysw=$_POST['ysw'];
if ($ysw>660) {
$zoom=intval($ysw)/660;
} else {
$zoom=1;
}
$x=$_POST['x']*$zoom;
$y=$_POST['y']*$zoom;
$w=$_POST['w']*$zoom;
$h=$_POST['h']*$zoom;
$imgpath=ET_ROOT.$_POST['imgpath'];
//imgpath过滤了一些参数,但../等未过滤,致使任意文件删除
$ext=strtolower(getExtensionName($imgpath));
// var_dump($imgpath);die;
import("@.ORG.IoHandler");
$IoHandler = new IoHandler();
if(!isImage($imgpath)) {
// var_dump($imgpath);die;
$IoHandler->DeleteFile($imgpath);
//ok了,任意文件删除
setcookie('setok', json_encode(array('lang'=>L('face2'),'ico'=>2)),0,'/');
header('location:'.SITE_URL.'/?m=setting&a=face');
exit;
}
$image_path = ET_ROOT.'/Public/attachments/head/'.date('Ymd').'/';
if(!is_dir($image_path)) {
mkdir($image_path);
}
$f=date('His');
//大图片
import("@.ORG.makethumb");
$makethumb=new makethumb();
$filename=$f.'_big.'.$ext;
$dst_file = $image_path.$filename;
$make_result = $makethumb->dothumb($imgpath,$dst_file,max(10,min(120,$w)),max(10,min(120,$h)),0,0,$x,$y,$w,$h);
//小图片
$filename=$f.'_small.'.$ext;
$dst_file = $image_path.$filename;
$make_result = $makethumb->dothumb($imgpath,$dst_file,max(10,min(50,$w)),max(10,min(50,$h)),0,0,$x,$y,$w,$h);
$IoHandler->DeleteFile($imgpath);
M('Users')->where("user_id='".$this->my['user_id']."'")->setField('user_head',date('Ymd').'/'.$filename.'?v='.time());
$plugin= A('Appaction');
$plugin->do_action('saveface');
setcookie('setok', json_encode(array('lang'=>L('face1'),'ico'=>1)),0,'/');
header('location:'.SITE_URL.'/?m=setting&a=face');
}
```
任意文件删除,可以删除360的防护脚本(:(),进行注入获取管理密码(全局过滤,注入很少了),或者,当然此处删除安装锁,然后进行系统重装,只需找随便找一台开启mysql外连的服务器即可,进行安装,然后进入后台。
漏洞截图:
pic-a,此处删除/Public/install.lock文件
[<img src="https://images.seebug.org/upload/201404/07100302aa6d8ea55e09b7ba0d01868705c78e55.jpg" alt="QQ拼音截图未命名.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201404/07100302aa6d8ea55e09b7ba0d01868705c78e55.jpg)
进行重装后进入后台,进行getshell
此处利用后台的ucenter整合功能。
先本地搭建个ucenter(discuz后台即有该功能),新建个应用,获得配置的信息代码,然后在代码中加入一句话木马即可,如图pic-2
<img src="https://images.seebug.org/upload/201404/07100646a6928200bcb2fa703a04cbe9d3b7cf1e.jpg alt="b.jpg" />
然后一句话连接地址为:/easytalk/admin.php?s=/Setting/ucenter
如图pic-c
[<img src="https://images.seebug.org/upload/201404/07100859b113a1a881838bebcbe0d8094b84aa67.jpg" alt="d.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201404/07100859b113a1a881838bebcbe0d8094b84aa67.jpg)
### 漏洞证明:
如上详细描述
暂无评论