扫码加圈子
获内部资料
网络安全领域各种资源,EDUSRC证书站挖掘、红蓝攻防、渗透测试等优质文章,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。加内部圈子,文末有彩蛋(知识星球优惠卷)。
原文链接:https://forum.butian.net/article/673
作者:Massa
在某次赚钱的时候,发现出现了这个系统的低版本 搜索了很久相关只找到了一个
简短的一句话 但没有其他漏洞细节 于是本地搭建挖一下
首先是需要一个账号来调用后台的插件
但是本套系统默认两个账号
guest:guest demo:demo
还有一个就是要知道web的路径 当然这个后面说
定位到函数 发现有一个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即可写木马
官方的修复中
在这里把文件返回头给注释掉了 但是我们上文提了自己生成也可以
可以看到在path生成上完善了 拼接了$pre 没办法再进行路径的查找
-
0x5 原文始发于微信公众号(神农Sec):某云盘系统 API 端点无限制上传漏洞解析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论