近期国内知名WordPress博客发布了一篇题为“WordPress安全漏洞:从任意文件删除到任意代码执行”文章引起了蜗牛的关注,对于此漏洞,当前所以的WordPress博客用户都要引起注意,因为不修复漏洞你的站点就有可能被黑客进行删除任意文件操作,甚至存在执行任意代码的风险,数据安全没有任何保障,甚至还会威胁到服务器安全。
WordPress中删除任意文件、执行任意代码的安全漏洞早在2017年11月前就被国外网友发现,并及时向官方安全团队报告该漏洞,当时也得到了WordPress官方安全团队的确认,但直到现在WordPress官方一直没有发布修复补丁,所以当前包括最新4.9.6版本在内所有WordPress用户都有可能因此漏洞遭到黑客的攻击。在这样的前提下,一名名叫@Karim El Ouerghemmi网友在自己的博客发布了一篇关于漏洞的博文,详细对漏洞做了讲解,同时也给出了简单的修复方案。
关于漏洞的详细说明蜗牛就不过多介绍了,介绍得多了反而给别有用心的人提供了帮助,如果自己实在需要查看,那么自行找资料查看吧。其实安全漏洞不爆出来还好,知道的人群较少,然后一旦爆料出来,四处传播,不及时补上修复补丁的话,问题就严重了。所以所有WordPress用户尽快打上修复补丁吧,因为一旦被黑客利用,删除你的站点文件,如果你正好也没有备份,那么损失是可想而知的。
临时修复方法
作者@Karim El Ouerghemmi发布的修复方案很简单,在主题文件functions.php中添加下面一段代码来实现。代码原理是“钩住”wp_update_attachement_metadata()的调用,对thumb数据进行安全过滤,从而达到漏洞无法被黑客利用的目的。
add_filter( 'wp_update_attachment_metadata', 'rips_unlink_tempfix' ); function rips_unlink_tempfix( $data ) { if( isset($data['thumb']) ) { $data['thumb'] = basename($data['thumb']); } return $data; }
同时作者还说以上补丁是临时性补丁,主要是为了修复安全漏洞,并不确保补丁兼容WordPress插件,所以大家还是谨慎使用吧,如果添加代码就出现问题,那就果断删除代码吧。