与我们合作
我们专注:网站策划设计、网络舆论监控、网站优化及网站营销、品牌策略与设计
主营业务:网站建设、移动端微信小程序开发、APP开发、网络运营、云产品·运维解决方案
有一个品牌项目想和我们谈谈吗?
您可以填写右边的表格,让我们了解您的项目需求,这是一个良好的开始,我们将会尽快与您取得联系。当然也欢迎您给我们写信或是打电话,让我们听到您的声音
您也可通过下列途径与我们取得联系:
地 址: 上海市长宁区华宁国际7L
电 话: 400-825-2717(咨询专线)
电 话: 13054973230(售后客户服务)
网 址: http://www.56gw.net
传 真: 021-61488448
邮 箱: admin@wumujituan.com
快速提交您的需求 ↓
修复方案 ThinkPHP5 <= 5.0.22 远程代码执行高危漏洞
发布日期:2020-09-16 浏览次数:85155
漏洞公告(公告内会包含同一软件多个漏洞 CVE)
简介
修复方案
ThinkPHP5 <= 5.0.22 远程代码执行高危漏洞
ThinkPHP 是一款兼容性高、部署简单的轻量级国产PHP开发框架。
2018年12月10日,阿里云云盾应急响应中心监测到ThinkPHP官方发布安全更新,披露了一个高危安全漏洞,由于ThinkPHP5框架对控制器名没有进行足够的安全检测,导致在没有开启强制路由的情况下,攻击者构造特定的恶意请求,可以直接获取服务器权限。受影响的版本包括5.0和5.1版本。当前这个漏洞影响ThinkPHP <=5.0.22版本。
注意:如果您原先的控制器名中带有反斜杠等特殊字符,一键修复后ThinkPHP可能会报错,您可以对补丁修复进行回滚操作,并调整控制器名后再进行修复。
在think\App类的module方法的获取控制器的代码后面加上
if (!preg_match('/^[A-Za-z](\w|\.)*$/', $controller)) {
throw new HttpException(404, 'controller not exists:' . $controller);
}
或点击一键修复。
【注意:云盾会根据您当前代码是否符合云盾的修复模式进行检测,如果您自行采取了底层/框架统一修复、或者使用了其他的修复方案,可能会导致您虽然已经修复了该漏洞,云盾依然报告存在漏洞,遇到该情况可选择忽略该漏洞提示】