您现在的位置是: 网站首页>详情 文章详情

ThinkPHP5远程代码执行高危漏洞

erhas2019-12-19 10:48:23php

手动修复
5.0版本
在think\\App类的module方法的获取控制器的代码后面加上
if (!preg_match('/^[A-Za-z](\\w|\\.)*$/', $controller)) {
    throw new HttpException(404, 'controller not exists:' . $controller);
}
5.1版本
在think\\route\\dispatch\\Url类的parseUrl方法,解析控制器后加上
if ($controller && !preg_match('/^[A-Za-z](\\w|\\.)*$/', $controller)) {
    throw new HttpException(404, 'controller not exists:' . $controller);
}

附上原文链接 https://blog.thinkphp.cn/869075?spm=a2c4g.11174386.n2.6.30b21051ThgbHz