tp5.0.7 修复getshell漏洞
这里 接手项目用的是 tp5.0.7 突然想到前段事件的tp bug 事件 就试了下 发现确实有这种情况
参考帖子:
https://blog.csdn.net/Bul1et/article/details/85319468
本地测试的时候 到 &function=call_user_func_array&vars[0]=system&vars[1][]=id 的时候 nginx 出现了一个报错 没有成功进行复现
但是 前面的 invokefunction 方法确实是已经进到了 call_user_func_array 函数也已经执行了
官方提供的修复姿势:
https://blog.thinkphp.cn/869075
PHPTutorial\WWW\tp5.0.7\thinkphp\library\think\App.php
358行左右
module 方法中
<pre style="margin: 0px; padding: 0px; overflow: auto; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"> if (!preg_match('/^A-Za-z*controller)) { throw new HttpException(404, 'controller not exists:' . $controller);
}</pre>
测试 修复完成 报错
这里 应该就是修复完成了吧 和 tp5.0.24 提示一致
这里显示报错 是因为 debug 没有关 生产环境关掉就好了 不会暴露出相应的信息