『PHP代码审计』SemCms2.0存在文件上传漏洞
发布日期:2021-06-28 20:00:31
浏览次数:2
分类:技术文章
本文共 762 字,大约阅读时间需要 2 分钟。
文章目录
前言
作者:Ho1aAs
博客:https://blog.csdn.net/xxy605
一、漏洞演示
访问后台的上传接口
xxxx_admin/SEMCMS_upload.php
新建文件aaaaa.php
上传
文件成功上传
二、漏洞分析
查看SEMCMS_upload.php源码,上传文件用到SEMCMS_Upfile.php
接着查看SEMCMS_Upfile.php
1) && ($_FILES["file"]["size"] < 30240000)) {
这里对文件上传的过滤仅仅只是采取验证MIME的方式,这非常不安全
抓包看看刚刚上传的php文件
上传文件时的MIME设置成了application/octex-stream
,刚好过滤了判定,将其视为了rar压缩文件从而绕过
三、利用
上传任意文件,将MIME修改成白名单内的即可
四、修复
建议加强验证、过滤,不单单采用验证MIME,容易伪造
五、总结
由于以下问题导致该漏洞的产生:
- 使用MIME松散判断文件类型
- 只有一层验证文件类型的操作,效果弱
完
转载地址:https://blog.csdn.net/Xxy605/article/details/117753506 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月12日 14时24分53秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
权限控制之Spirng Security框架
2019-04-28
Excel处理:Apache POI
2019-04-28
【枚举算法】佩尔方程
2019-04-28
【排序】冒泡排序
2019-04-28
【排序】选择排序
2019-04-28
【git工具】gitignore的梳理
2019-04-28
【Mybatis】使用SSM框架完成jsTree
2019-04-28
【FontAwesome】入门小案例
2019-04-28
【Linux】设置防火墙让外界访问服务器
2019-04-28
【webservice】通过webservice判断手机卡号类型
2019-04-28
【leetcode之旅】 数组 - 414.第三大的数
2019-04-28
【leetcode之旅】 数组 - 448.找出所有数组消失的数
2019-04-28
【leetcode之旅】 数组 - 485.最大连续1的个数
2019-04-28
【leetcode之旅】 数组 - 561.数组拆分I
2019-04-28
Android面试必问!我的移动开发春季历程,大厂内部资料
2019-04-28
Android面试送分题:来看看移动端小程序技术的前世今生!附赠课程+题库
2019-04-28