强烈向大家推荐一个好网站,【我要自学网】,教程由在校老师录制,有办公会计、平面设计、室内设计、机械设计、网页编程、影视动画等教程.....让你足不出门,都可以体验学校的专业教育!
国产知名开源框架ThinkPHP 目前被发现存在严重安全漏洞,并且在野外已经有黑客等利用此漏洞展开攻击。
黑客利用此漏洞可以获得网站管理权篡改内容或导出数据,官方称此漏洞主要是未对控制器进行足够的检查。
需要再次强调的是此漏洞危害极高相关攻击方法已经公开在网上,因此短时间内就可能出现大量攻击的情况。
示意图,图文无关
使用此框架的网站应立即升级:
无论是直接使用ThinkPHP 搭建网站还是基于此框架进行二次开发的网站现在都必须立即进行升级封堵漏洞。
ThinkPHP 本身作为轻量级开源框架用户众多,除个人网站外很多企业也使用该框架进行二次开发搭建网站。
如果未及时修复的话不仅公司网站被黑还可能到泄露大量的用户信息,会给企业正常运营等带来极大的挑战。
针对该漏洞还有不少批量攻击的方法,安全社区流传消息称可制作自动化工具批量扫描网站并自动完成攻击。
受影响的版本包括5.0.0~5.0.23版:
ThinkPHP官方当前已经发布紧急修复版对漏洞进行封堵,如果你还在使用v5.0.23及以下版本都需要升级的。
但是如果基于二次开发或其他原因无法进行版本升级还有备用方法,通过修改配置文件的方式手动封堵漏洞。
#编辑library/think/Request.php文件并查找以下字符串:
$this->method = strtoupper($_POST[Config::get('var_method')]);
$this->{$this->method}($_POST);
#将上述字符串修改为:
$method = strtoupper($_POST[Config::get('var_method')]);
if (in_array($method, ['GET', 'POST', 'DELETE', 'PUT', 'PATCH'])) {
$this->method = $method;
$this->{$this->method}($_POST);
} else {
$this->method = 'POST';
}
unset($_POST[Config::get('var_method')]);
#以上方法可缓解漏洞,建议升级v5.0.24版彻底修复漏洞