| 关键词: 文件包 runtime 日志 成功 phpinfo 文件 method 源码 getshell |
同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[]=phpinfo&get[]=../runtime/log/202007/08.log&x=phpinfo(); ![]()
写入shell: _method=__construct&method=get&filter[]=think__include_file&server[]=phpinfo&get[]=../runtime/log/202007/08.log&c=fputs(fopen('x.php','w'),''); ![]()
成功getshell,由于是宝塔搭建的,无法访问其他路径,这里可以在新的文件上传一个.user.ini,再在这个文件上传一个一句话,就能成功访问其他目录了,.user.ini内容为: open=basedir= ![]()
重新尝试访问www目录,成功 ![]()
这样就成功拿下主站的权限的,发现主站的代码,fofa查了下,有很多使用这套诈骗源码开发的,就下载了下来审计了下。 二、代码审计 发现前台sql注入,没有任何过滤 ![]()
由于需要开启debug模式才会生效 ![]()
这个诈骗源码太多注入了,就不看其他的了,全局查找file_put_contents,发现后台可以写入配置文件getshell ![]()
他明明都使用了var_export函数,却要添加一个stripslashes去掉转义符,构造如下payload ![]()
访问文件,成功写入phpinfo ![]() 渗透就到此结束了 |
| 本文出处: https://www.toutiao.com/a6847403867357839872/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|