2018年6月29日,wordpress爆出最新漏洞,该网站漏洞通杀所有wordpress版本,包括目
前的wordpress 4.8.6 以及wordpress 4.9.6版本。可以删除网站上的任意文件,影响危害严重,
甚至是致命的一个漏洞,如果被攻击者利用,后果将不堪设想。截止目前该漏洞还未有被修复,
如果您在使用wordpress,请尽快将wp-includes文件夹下的post.php文件改名,等官方出
wordpress漏洞补丁后,再改回并升级。
wordpress是许多站长以及建站公司,个人博客都比较喜欢的一套内容管理系统,也是目前互联
网占有率较高的一套网站系统,国外以及外贸公司用的也比较多,因为wordpress在google优化
上比较好,下面我们来分析下该wordpress漏洞是如何产生的:
网站漏洞产生的文件存在于wp-includes/post.php中,如下图:
在第五行的if ( ! empty($meta['thumb']) ) {代码中,thumb变量值是可以调用来自于图片,或者网站数据库的一个值,整体代码在写的时候并没有对thumb的值进行安全过滤与判断内容是否含有恶意函数,如果被攻击者利用通过thumb传入参数,提交到服务器端,会造成网站上任意文件的删除。
我们下载wordpress最新版本到本地,并架设php+mysql服务器环境,通过实际的操作与漏洞利用,发现'thumb'这个值,并没有检测是否含有恶意内容,直接写进了网站数据库里,导致可以掺杂非法删除文件的语句,来提交到服务器端执行。
那么该如何利用wordpress的漏洞呢?
首先登陆wordpress后台,wp-admin,并打开上传media library功能,我们随便上传一个图片到后台里去,然后记住我们上传后的图片ID值是多少。然后访问
http://127.0.0.1/wp-admin/post.php?post=4&action=edit 查看网页的源代码,找到
_wpnonce,并记录下来POST发送数据包到http://127.0.0.1/wp-admin/post.php?
post=4' -H 'Cookie: ***' -d 'action=editattachment&_wpnonce=***&thumb=../../../../wp-config.php
我们可以看到我们竟然删除了wordpress的配置文件,可以对网站进行重新安装,如果网站所有的内容都被删除,那带来的损失就太大了。关于漏洞的修复,Sinesafe提醒各位站长目前官方还没有出最新的漏洞补丁,或者禁用掉网站后台的上传功能,等待补丁出来再开启。