问答
发起
提问
文章
攻防
活动
Toggle navigation
首页
(current)
问答
商城
实战攻防技术
漏洞分析与复现
NEW
活动
摸鱼办
搜索
登录
注册
某云盘系统 API 端点无限制上传漏洞解析
渗透测试
在某次赚钱的时候,发现出现了这个系统的低版本 搜索了很久相关只找到了一个
### background 在某次赚钱的时候,发现出现了这个系统的低版本 搜索了很久相关只找到了一个  简短的一句话 但没有其他漏洞细节 于是本地搭建挖一下 ### 0x01 漏洞限制条件  首先是需要一个账号来调用后台的插件 但是本套系统默认两个账号 guest:guest demo:demo 还有一个就是要知道web的路径 当然这个后面说 ### 0x02 漏洞分析 定位到函数 发现有一个in\['file'\]的参数  跟进in 在controller里面可以看到这个参数   还是全局变量 很容易判断他可以直接传参数 跟进这个可以发现有一个`get_path_ext`后缀  可以发现只限制了数量和一些不可见字符 并没过滤php 继续跟进unzip\_filter\_ext 可以发现他过滤了 `.user.ini .htaccess`  但是有一个checkExt检查后缀 但是逻辑有点问题 在这里有一个不允许的名单 还会不断的merge  在这里进行判断  逻辑错误点在这里 我们这里的$file是php 而后面的则是.php 因为stristr的意思是在前面的字符串查找后面的 而在php字符串里并不包含.php 所以在这里我们可直接传入php  打印了下 $infoData发现为NULL 那后面$linkfile就是单纯的网页地址 而且他会对一个url发起请求并保存文件 我们可知$cachefile 的后缀是php 其实就可以直接写文件了 在目录下放一个/1.php的马  直接进行访问  发现在响应头里会有php文件名 但实际上  在这里也写了完整的生成语句  但是我们发现在生成文件的时候还是有一个目录的  回到刚才代码 我们查看cacheFile类  在这里有一个`hash_path`的生成 可以选择下断点 或者直接`var_dump`下变量 发现大致目录如下  其实可以推断出来 /var/www/html/data/User/guest/home/ 为一般漏洞利用的`hash_path` 而且你会发现虽然说他在前面设置了一个随机生成的系统密码 但实在底下只是进行了md5的编码就把$path写进来了 所以   只要文件不变 md5值是不变的  构造poc即可写木马 ### 0x03修复方案 官方的修复中  在这里把文件返回头给注释掉了 但是我们上文提了自己生成也可以 可以看到在path生成上完善了 拼接了$pre 没办法再进行路径的查找 
发表于 2025-03-20 10:00:01
阅读 ( 361 )
分类:
CMS
0 推荐
收藏
0 条评论
请先
登录
后评论
Massa
1 篇文章
×
发送私信
请先
登录
后发送私信
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!