渗透总是在Bypass - 文件重命名Getshell

Posted on 2023-09-27 16:09  渗透的艺术  阅读(26)  评论(0编辑  收藏  举报

打开首页,整个网站看上去就是一套新闻站,本来是不想把时间浪费在这个站上面的
image.png

测了一下admin目录,需要401认证
image.png

随便点了点,观察其URL像是Tp3的框架,所以就顺手测了一下Tp3的几个常见注入,结果把网站用的CMS给爆了出来
image.png

用Fofa去找案例,目的是获取源码或者测试出通用漏洞
image.png

到这里整理一下思路,怎么快速的去寻找源码或者测漏洞呢:

  1. 把这几十个站链接保存,通过目录扫描工具批量扫备份获取源码
  2. 通过上传webshell,然后获取源码
  3. 通过CMS的通用备份获取源码
  4. 进后台,后台有未授权添加用户等
  5. Github根据特征找源码
  6. 等等等

秉承着上述的思路,测试了一个站点之后找到了一个弱口令
image.png

在后台中我发现了文件管理功能,这个功能一般都能shell
image.png

有一个改名的功能并且可以修改后缀名
image.png

抓包看参数,路径与文件名都可以完全被用户控制,只需要找一个上传点随便上传一个文件,然后通过修改文件名getshell
image.png

仔细观察上面请求包的URL路径会发现,他并不是在/admin/目录下,而是在/Include/目录下,这也就说明了它极有可能是一个未授权文件名修改。删除COOKIE测试之后果然如此
image.png

在发布文章的地方还有一处未授权上传附件
image.png

现在未授权上传点与未授权修改文件名都有了,那就直接可以去目标站getshell了
可是哪有一番风顺的渗透测试,目标站点启用了OSS,上传的附件传到了OSS上面,所以这个上传点用不了
继续找了一个别的上传点,都是直接传到OSS上面
image.png

绕了一圈,还是回到起点
之前在Github上找到了这套cms的源码,所以还是从源码入手,寻找有没有上传点是直接上传到服务器,不上传OSS的,打开上传源码EditorAction.class.php这太眼熟了,就是Ueditor上传
image.png

Ueditor中有一个catchimage是从远端服务器抓取图片,然后保存到服务器,这总不会上传到OSS吧,立马构造了一个上传包,果然被保存到了本地
image.png

然后通过未授权修改任意文件名,将后缀改为php
image.png

成功getshell
image.png