原标题:利用Thinkphp 5缓存漏洞实现前台Getshell
*本文原创作者:WindWing,属于FreeBuf原创奖励计划,禁止转载
0×00 背景
网站为了实现加速访问,会将用户访问过的页面存入缓存来减小数据库查询的开销。而Thinkphp5框架的缓存漏洞使得在缓存中注入代码成为可能。(漏洞详情见参考资料)
本文将会详细讲解:
1. 如何判断缓存漏洞存在的可能性
2. 如何利用Thinkphp5的框架漏洞结合网站的一些配置实现前台getshell
希望可以给予读者一些关于漏洞应用的启发。
0×01 环境 测试环境
1.某基于Thinkphp5.0.10搭建的论坛类测试网站
2.apache2
3.php5.6及以上版本,相关php组件
4.mysql工具
1.dirsearch(github上的一个用python编写的网站路径扫描工具)0×02 实现 判断缓存漏洞存在的可能性
1.查看网页的cookie,发现存在thinkphp_show_page_trace字段,确定网页基于thinkphp框架。
2.使用 dirsearch 扫描目标网站。python3 dirsearch.py -u site_ip_here -e php发现可以访问 cache目录,说明可能存在缓存漏洞。
实施攻击
1.考虑到这是一个论坛类网站,尝试发