0x01
阅读须知
Reading Instructions
数字人才创研院秉承探究学习与交流的理念,一切从降低已有潜在威胁出发,所有发布的技术文章仅供参考,未经授权请勿利用文章中的技术内容对任何计算机系统进行入侵操作,否则对他人或单位而造成的直接或间接后果和损失,均由使用者本人负责。
0x02
漏洞概述
Vulnerability Overview
ThinkPHP,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的开源轻量级PHP框架。
5.0.23以前的版本中,获取method的方法中没有正确处理方法名,导致攻击者可以调用Request类任意方法并构造利用链,从而导致远程代码执行漏洞。在大于5.0.21小于等于5.0.23的情况下,由于修改了method函数的逻辑,无法随意用变量,可以统一用get[],route[]。
ThinkPHP6.0.0到ThinkPHP6.0.1,由不安全的SessionId导致的任意文件操作漏洞。该漏洞允许攻击者在目标环境启用session的条件下创建任意文件以及删除任意文件,在特定情况下还可以getshell。
同时,如果ThinkPHP在开启多语言功能的情况下极易存在文件包含漏洞,攻击者可以通过get、header、cookie等位置传入参数,实现目录穿越+文件包含,最后借助pearcmd文件包含trick即可实现RCE。
影响版本信息如下:
6.0.1 < ThinkPHP≤ 6.0.13
5.0.0 < ThinkPHP≤ 5.0.12
5.1.0 < ThinkPHP≤ 5.1.8
不同版本利用条件各有差异,以6.x.x为例思路如下:
多语言开启或在/app/middleware.php中开启session
安装pear扩展
获取pearcmd.php准确路径
register_argc_argv=on
相信各位渗透测试大佬们,已经对以上关于ThinkPHP的相关漏洞的描述及危害有了深入的了解与理解,接下来,咱们开始发动车子,坐好,稳住!
原文始发于微信公众号(数字人才创研院):ThinkPHP|送给渗透测试专家们的“福利”
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论