Pescms任意文件上传代码审计工具Seay源代码审计系统pescmsteam-v2.3.3phpstudy漏洞挖掘及审计使用phpstudy搭建好系统后发现可以修改上传的图片及文件后缀,添加php后缀进行上传…
Pescms任意文件上传代码审计
工具
Seay源代码审计系统
pescmsteam-v2.3.3
phpstudy
漏洞挖掘及审计
使用phpstudy搭建好系统后发现可以修改上传的图片及文件后缀,添加php后缀进行上传
查看修改后的后缀如何保存。可以看到将输入的数据并未作过滤操作就写入数据库。造成后缀名的绕过。
此时寻找到文件上传的方法,此时upload类继承了controller类,跟踪到该类。
查看该类的函数可以得到一个数组config,该数组存储了数据库中获取的可上传的文件的后缀名等信息。
继续向上寻找具体的处理方法。可以看到在这里首先包含了Uploader.php文件。查看上传配置中的config数组中的允许上传字段即是从数据库中读取的自己写入的字段。
打开上一步包含的文件uploader.php,查看具体的文件上传方法
检查文件名后缀是否满足要求,
当后缀满足要求时继续执行,这里的config[“allowFiles”]为我们第一步写入的后缀名。
继续执行该上传方法,当上传的文件为图片时使用gd库过滤掉图片马,否则直接上传。
实际操作getshell
在编辑时选择附件上传,如下为上传数据包,成功上传并返回shell的路径。
使用工具进行连接,成功getshell
操作过程中的坑点
在修改后缀处能够修改图片的上传后缀以及文件的的上传后缀,但是上传图片shell并不能成功getshell
在上传图片时成功修改图片的后缀为php,也能成功返回路径,但是在连接时总是无法连接成功,通过代码审计的过程发现主要是在针对图片上传时使用了GD库进行了过滤
- 本文作者: 404test
- 本文来源: 奇安信攻防社区
- 原文链接: https://forum.butian.net/share/292
- 版权声明: 除特别声明外,本文各项权利归原文作者和发表平台所有。转载请注明出处!