bees cms代码审计(3)

寻找文件上传

通过关键字upload找到admin/upload.php

访问

观察是白名单判断

查看代码

抓包进行判断

分析:

if(isset($_FILES['up']))

首先判断了是否有上传文件

if(is_uploaded_file($_FILES['up']['tmp_name']))

$_FILES[字段名][tmp_name]——保存的是文件上传到服务器临时文件夹之后的文件名

判断是否存在

if($up_type=='pic')

查看$up_type传入的值

通过抓包可以知道没有传入up_type这个值,所以默认为pic

接着就是对宽高的判断和过滤,与漏洞无关

这段代码使用了一个自定义函数,进行追踪

 

 

略过无关代码来到过滤

$file_type=$file['type'];
if(!in_array(strtolower($file_type),$type)){
msg('上传图片格式不正确');
}

获取上传文件的类型,将类型大写变为小写,再进行判断是否在$type这个数组里面

之后判断是否从缓存文件移动并重命名,与过滤无关

那么我们只需要文件类型一样即可上传成功

 

成功返回路径

尝试访问

 

posted @ 2022-10-25 16:46  错的是我  阅读(67)  评论(1)    收藏  举报