声明:本次渗透测试有合法授权,相关数据已脱敏处理
一、漏洞描述
挂goby扫描器对目标网站进行扫描后发现TPSHOP,后经手工测试后发现为tinkphp5.0.5版本,此版本存在rce漏洞。
二、验证情况
使用payload进行验证,成功回显phpinfo并找到其绝对路径
直接上传一句话木马,成功回显!
接下来我们要寻找到一句话木马的位置,通过分析thinkphp目录结构可知,日志文件存放在runtime目录下
使用scandir函数对目录进行遍历,爆出以下日志
通过检索发现一句话木马存放在03.log中,这个目录结构规律大概就是2023/03.log(几号就是0几这样)
下一步就是使用蚁剑连接webshell,看到这里,大家都以为可以直接getshell了吧,但是命运就是这么捉弄人,明明已经将木马包含在日志中,并且有绝对路径,相关函数也没有禁用,这一切看起来都是那么顺利,可就是连接失败。后来我又尝试换冰蝎马,但是因上传做了字符串限制,只能用最简单的一句话木马,其余多一个字符串都会被截掉,那么会不会是编码器的问题呢?接着尝试burp编码,蚁剑编码等各种姿势,结果还是失败告终。
一番国粹输出后,开始另辟蹊径,后经发现,该网站有一个编辑器存在上传漏洞,总算是老天开眼哈哈哈哈哈哈哈
在插入文件中发现文件空间这个选项,里面直接爆出来了所有的目录且得知是windows服务器
选择其中一个文件上传,找到上传目录路径
心想这下应该稳了,先上传一个txt试试水,结果显示失败。根据报错信息,挨个尝试后发现没有一个能上传,又被狠狠的调戏了!
事已至此,也未发现其它有利用价值的漏洞,我开始复盘前面所收集到信息,尝试寻找突破点。根据获取到的信息,我将getshell几率最大的漏洞点进行罗列,发现thinkphp的rce是最容易实现的,于是再次尝试,并目前情况进行了分析:
1、木马是一定包含在日志中的,通过检索能够发现,这点毋庸置疑。
2、流量加密需要先对木马进行加密,但字符串受限,那么木马加密肯定是行不通,与之相对应的流量加密一样。
3、日志存在有路径,请求路径错误问题不存在。
以上可知,木马已存在,且路径正确,那一定是连接出问题了。后经尝试,使用同事发来的蚁剑,成功连接(我当时的表情变化like
三、总结
我是身上有点执念的,为了梦想也好,目标也罢,有时候,你不去较劲儿,永远不知道自己能改变什么。
微信扫码关注: Network security随笔公众号获取最新安全资讯。