1. 文件上传漏洞挖掘:
- (1) 关键字搜索(函数、键字、全局变量等):比如 $_FILES,move_uploades_file 等
- (2) 应该功能抓包:寻找任何可能存在上传的应用功能点,比如前台会员中心,后台新闻添加等。
- (3) 漏洞举例:逻辑漏洞-先上传文件再判断后缀名,通过 MIME 类型来判断文件类型、前端校验文件类型而服务端未校验。
2.MVC 开发框架类:
- https://www.cnblogs.com/wsybky/p/8638876.htmlMVC 各部分的职能:
- 模型 Model – 管理大部分的业务逻辑和所有的数据库逻辑。模型提供了连接和操作数据库的抽象层。
- 控制器 Controller – 负责响应用户请求、准备数据,以及决定如何展示数据。
- 视图 View – 负责渲染数据,通过 HTML 方式呈现给用户。
3.Thinkphp 框架:http://sites.thinkphp.cn/1556331
- 了解怎么查找就行
- http://sites.thinkphp.cn/1556331
4.phpstorm+xdebug 调试:
- https://blog.csdn.net/yinhangbbbbb/article/details/79247331
- 调试步骤可参考:
- https://mp.weixin.qq.com/s/7K8edea8imalZ8_jJp3ODw
- https://blog.csdn.net/yinhangbbbbb/article/details/79247331
5. 文件上传漏洞挖掘过程
- 搜索 $_FILES–> 后台中心–> 上传图像–> 跟踪代码–> 逻辑判断
- 业务功能分析–> 会员中心–> 上传图像–> 跟踪代码–> 逻辑判断
- 搜索文件上传–> 会员中心–> 上传图像–> 跟踪代码–> 逻辑判断
演示案例
- PHPStorm+xdebug 断点调试演示
- Beescms 无框架后台任意文件上传
- Finecms 基于前台 MVC 任意文件上传
- Cltphp 基于前台 TP5 框架任意文件上传
PHPStorm+xdebug 断点调试演示
Beescms 无框架后台任意文件上传
参考:代码审计:beescms 后台上传 getshell 复现 _CNwanku 的博客 -CSDN 博客
图片上传
- 1. 登录后台后,我们寻找可以上传的地方
打开 Seay,来到 admin/upload.php 文件,找到上传函数。
检查了上传文件是否合法,实际上传用的是 up_img 函数,跟进函数。
我们发现判读语句
这里检查了上传文件的 type,如果 type 不在白名单里,就直接提示出错,我们可以修改文件类型绕过。
这是上传的白名单
从上面可以看出,并没有做任何检查就直接取了 $file[‘name’](就是我们上传时候的文件名)的后缀来给新生成的文件。所以我们只要伪造合法的 type 就能上传 shell 文件。
- 然后我们就发现已经上传成功了!
文件上传
- 打开上传文件的链接
- sql.tmzo.club/bees/admin/admin_file_upload.php
上传 php 文件时候,发现被拦截
我们审计代码,
- 1. 关键字 在 seay 中搜索 上传文件格式不正确
1. 关键参数 $_FILES
1. 找到参数,指向文件,找代码里是否有过滤函数,双击定位 up_file
2. 定位函数
4. 发现这是后缀白名单判断,很难绕过
5. 上传一个 1.php%00.zip
- 6. 发现绕过成功,但没有上传成功,注意 php 版本
- 7. 因此,这个地方应该没有上传漏洞。
Finecm 基于前台 MVC 任意文件上传
首先注册一个账号 yy
- 发现有上传图片的地方,于是,我们搜索关键字,搜索 上传失败
- 但是没有找到判断文件的地方,于是在搜索 图片不存在 试一试,发现找到了判断函数
接下来我们继续分析下面的,file_put_contents 函数
- 发现这个函数是最后写入图片的命令。
- 所以,这个只要有 tx 值,就会先写入缓存,然后在继续后续的判断
- 这里有 tx 接受值,我们先上传一张图片,抓包
发现 tx 的值,接下来,上传一个 php 抓包,竟然发现没有 tx 接受值
- 所以根据代码分析,前端会有判断,我们可以绕过前端,然后就会有 tx 值,这样文件先上传上去
- 我们先上传一句话木马的图片,bp 抓包
然后改成 php,虽然这里会报错提示没上传成功,但实际上是上传成功了的。并且文件名会重命名 0x0.php
Cltphp 基于前台 TP5 框架任意文件上传
- 无源码
相关链接
- 程序下载 _BEESCMS 提供免费企业网站建设方案!
- 第 51 天-代码审计 -PHP 框架 MVC 类上传断点调试挖掘 (待续 )_IsecNoob 的博客 -CSDN 博客
- 51. 代码审计 -PHP 框架 MVC 类上传断点调试挖掘 _ 明月清风 ~~ 的博客 -CSDN 博客 _mvc 代码审计流程
- CLTPHP 后台管理系统 v5.5.3-CLTPHP 后台管理系统 v5.5.3 下载 -CMS 建站-易采下载站 (easck.com)
- 最详细的 phpstorm+xdebug 调试详细教程,没有之一 _ 半船的博客 -CSDN 博客 _phpstorm xdebug
- 代码审计| FineCMS 的 GetShell 姿势 – FreeBuf 网络安全行业门户
- FineCMS-v5.0.1 漏洞审计 _XXX_ 偷你苦茶的博客 -CSDN 博客 _finecms
暂无评论内容