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这个数组里面

之后判断是否从缓存文件移动并重命名,与过滤无关
那么我们只需要文件类型一样即可上传成功


成功返回路径
尝试访问

浙公网安备 33010602011771号