从代码审计到拿下某菠菜客服站

2021-01-25 14:43:15 浏览数 (1)

起 因

给的目标只有一个后台系统登陆页面。上去就是一个弱口令怼他,但这种菠菜站基本不可能。

这时候就要体现信息搜集的重要性了,毕竟渗透最重要的就是信息搜集,废话也不多说,这个过程有点漫长,直接上主菜吧

正文

利用fofa、shdan、微步、超级ping进行域名查ip,以及ip反查域名。得到其中一个客服站

该站有存储型xss,打进去后返回的全是安卓手机,遂放弃。直接套客服话,有点久远这里就没得图了,通过客服给出的信息,直接批量扫c端同宝塔端口。再ip反查域名得到另一客服站

通过目录扫描,发现有install.php文件。

好家伙,直接告诉了我是什么客服系统,google一搜,开源的,直接下下来审计一波。

放入seay自动审计一波,打开一看,经验多的一看就知道是thinkphp框架。根据安装教程,得知此系统需要绑定到public目录,根据thinkphp的路由规则,web能访问到的目录只有application了。

审计过程有点漫长,此处省略。直接上找到的漏洞函数。通过全局搜索upload,发现该函数存在一个黑名单过滤。该函数以文件名中的点来分割名字并存入数组中,且以数组的第二个为后缀。即当文件名为index.php时,ext=php,但php在黑名单中;此时我们传入一个index.w.php文件,ext=w,以此来绕过黑名单

根据thinkphp的路由规则,该函数位于application/admin/controller/Event.php文件中,对应的web路径为/admin/event/uploadimg

我们可以构造一个本地的文件上传,并用burp抓包post到该路径

代码语言:javascript复制
<form action="http://domain.doamin/admin/event/uploadimg" method="post" enctype="multipart/form-data">


    <label for="file">Filename:</label>
    <input type="file" name="editormd-image-file" id="editormd-image-file">
    <br>
    <input type="submit" name="submit" value="submit">
</form>

可以看到成功上传过去,此时用蚁剑连接,成功getshell。

进去一看,好家伙,一堆站点。

去执行命令是发现输入什么都返回ret=127,后面想起来宝塔的站基本都禁用了很多函数

这里我们直接可以用蚁剑的disable_functions插件绕过执行命令限制

后续

因为该机子为vps,内网不打,直接上了beef去探测管理员的真实ip,为之后的钓鱼做准备。

0 人点赞