声明:该公众号大部分文章来自作者日常学习笔记,也有少部分文章是经过原作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
跨目录上传+任意文件读取rce记录
跨目录上传 对某系统进行测试时,发现有一处上传附件的功能,
常规上传个文件试试 发现返回包返回了重命名后的文件名称和系统的绝对路径 继续看上传的文件..
1.跨目录上传
对某系统进行测试时,发现有一处上传附件的功能,常规上传个文件试试
发现返回包返回了重命名后的文件名称和系统的绝对路径
继续看上传的文件
只有一个预览的功能,访问直接下载该文件,请求链接为
DownloadServlet?type=W***J&filename=QQ%E5%9B%BE%E7%89%8720230414145425.jpg&pyName=9be6c164-d5a9-4a1e-a555-139ec1ce383d.jpg
并没有什么用
回头仔细看上传的数据包,发现上传的参数type的值返回在了系统的绝对路径中,猜测type的值即为上传的文件夹,将type改成1尝试,印证了猜想,且是可以直接上传jsp的!
既然上传文件参数可控,尝试使用../看是否可以跨目录上传,发现也是可以的
至此得到一个上传路径可控的有效上传点,且通过上传返回的绝对路径知道了当前的user名称(这个后面很关键)。
那么接下来的思路就是寻找系统的web路径,直接上传脚本getshell。尝试了一些常用的手法例如构造报错等均未找到目标,尬住了一会儿后,想到了之前的跨目录上传,既然上传处可以使用../进行跨目录,那么上传后的预览处呢?
2.任意文件读取
回到刚才的上传预览处
将预览功能处的请求链接
DownloadServlet?type=W***J&filename=QQ%E5%9B%BE%E7%89%8720230414145425.jpg&pyName=9be6c164-d5a9-4a1e-a555-139ec1ce383d.jpg
中的filename与pyname进行构造尝试,果不其然,发现一处任意文件读取
/usr/local/tomcat(tomcat-1.1.1(具体版本号))/conf/tomcat-users.xml
/usr/local/tomcat(tomcat-1.1.1(具体版本号))/bin/catalina.sh
/var/log/apache2/access.log
/var/log/apache2/error.log
/var/log/httpd/access_log
/etc/httpd/logs/access_log
/etc/httpd/logs/error_log
/etc/httpd/logs/error.log
nginx
/var/log/nginx(nginx-1.1.1(具体版本号))/access.log
/var/log/nginx(nginx-1.1.1(具体版本号))/error.log
/usr/local/var/log/nginx(nginx-1.1.1(具体版本号))/access.log
/usr/local/nginx(nginx-1.1.1(具体版本号))/logs
/etc/nginx(nginx-1.1.1(具体版本号))/nginx.conf
通过旁站的其他端口的web指纹,发现使用的是tomcat
直接尝试读取tomcat的默认配置文件,均失败:)
接着尝试读取操作系统的默认路径,linux下常用路径如下
/etc/passwd 账户信息
/etc/shadow 账户密码文件
/etc/my.cnf mysql配置文件
/root/.ssh/id_rsa ssh-rsa私钥
/etc/redhat-release 系统版本
/root/.bash_history 用户历史命令记录文件
/home/user/.bash_history 特定用户的历史命令记录文件
/root/.mysql_history mysql历史命令记录文件
/var/lib/mlocate/mlocate.db 全文件路径
/proc/net/fib_trie 内网IP
/proc/self/environ 环境变量
/proc/self/loginuid 当前用户uid
最终通过/home/user/.bash_history中成功找到了tomcat的web路径
3.getshell
万事具备,直接上传至根目录下,访问
4.一些拓展
上述的情况都是登录后测试的,如果上传点是fuzz出来的,没有目标系统的账号,也可以采取如下几种方案。
1.尝试直接上传至系统的静态目录,例如系统自动加载的js文件的目录。
2.尝试绕过fillter的鉴权,一般从fillter对目录的白名单或是文件后缀的白名单两个角度绕过入手。
附一些实战的案例。
目录白名单绕过
文件后缀白名单绕过
其他情况绕过
3.寻找其他的web可以直接访问且知道路径的目录
例如本案例中的
直接构造上传
浏览器访问,成功rce
原文链接
https://forum.butian.net/share/2350
| 知识星球的介绍
不好意思,兄弟们,这里给湘安无事星球打个广告,不喜欢的可以直接滑走哦。
1.群主为什么要建知识星球?
很简单为了恰饭哈哈哈,然后也是为了建立一个圈子进行交流学习和共享资源嘛
相应的也收取费用嘛,毕竟维持星球也需要精力
2.知识星球有哪些资源?
群里面联系群主是可以要一些免费的学习资料的,因为群里面大部分是大学生嘛
大学生不就是喜欢白嫖,所以大家会共享一些资料
没有的群主wk也有,wk除了不会pc,其他都能嫖hhh
一些实战报告,截的部分
一些1day的poc,这些也就是信息差,不想找可以让wk帮你们嫖,群主也会经常发
一些共享的资源
1.刀客源码的会员
2.fofa 360高级会员
3.专属漏洞库
5.专属内部it免费课程
6.不定期直播分享(星球有录屏)
技术交流可加下方wx
原文始发于微信公众号(湘安无事):记一次跨目录上传+任意文件读取rce记录
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论