ThinkPHP是一个开源、快速、兼容而且简单的轻量级国产PHP开发框架,由于ThinkPHP简洁实用、出色的性能和至简的代码,成为国内站长或企业网站使用较多的web框架。
近期,国内安全研究人员发现ThinkPHP在使用缓存的时候,由于缓存函数缺陷,导致可以远程Getshell,存在高危安全风险。
具体详情如下:
漏洞编号:
暂无
漏洞名称:
ThinkPHP 缓存函数设计缺陷导致Getshell漏洞
官方评级:
高危
漏洞描述:
当用户使用了ThinkPHP 3.2.3-5.0.10版本并启用了缓存功能,远程攻击者可以使用精心构造的数据远程POST提交,触发该漏洞,并成功获取网站权限。
漏洞利用条件和方式:
启用缓存功能
远程利用
漏洞影响范围:
ThinkPHP 3.2.3-5.0.10版本
漏洞检测:
检查是否使用了ThinkPHP 3.2.3-5.0.10版本并启用了缓存功能
漏洞修复建议(或缓解措施):
厂商暂未发布补丁,可以使用方式进行手工修复:
修复方法:
1.打开文件:thinkphp\library\think\cache\driver\File.php
2.找到:public function set($name, $value, $expire = null) 方法
3.添加:$data = str_replace(PHP_EOL, ”, $data);