2019年正月刚开始,wordpress最新版本存在远程代码注入获取shell漏洞,该网站漏洞影响的版本是wordpress5.0.0,漏洞的产生是因为image模块导致的,因为代码里可以进行获取目录权限,以及文件包含功能,导致远程代码注入成功。
通过外界公布的漏洞细节详情,我们通过安全分析发现,漏洞主要是在wordpress上传图片这里,看了下代码post meta参数值并没有过滤,导致可以修改wp博客的数据库标段,在文件包含嵌入本地文件地址的时候可以跨目录的修改参数,导致保存的图片可以任意保存到网站的任何目录下。
wordpress网站漏洞的利用
我们先来搭建一下系统所需的环境,linux centos服务器,php5.3,mysql数据库本部为5.6,安装的wordpress 5.0.0系统,数据都为默认的,然后我们打开网站,点击wordpress的媒体库裁剪我们的图片这里,我们上传图片到网站里,默认图片是保存在网站根目录下的wp-content文件下的upload文件夹,上传成功的图片会直接保存到wp_postmeta这个表里,表的信息是图片的路径以及图片详细信息。如下图:
我们修改上传图片的属性可以进行post篡改,代码里并没有对post的传输方式进行严格的安全过滤,我们构造数据包修改路径值,我们来安全测试一下。。/便利目录漏洞,首先获取wp_admin/post.php的参数,然后对其修改,修改wp_attached_file参数为jpg../../safe.jpg,然后提交post,就会直接写入到数据库里。
我们打开刚才修改的图片属性,我们就会发现图片被执行了,由此我们可以判断出,这个功能简单来说就是本地读取图片的路径以及可以任意目录地址图片进行读取,远程读取的图片会过滤到问号,以及jpg后面的参数,导致将裁剪后的图片直接存放到wordpress主题文件夹里,我们就可以远程代码注入获取shell权限。
wordpress漏洞总结
该网站漏洞的发生,仅仅存在于wordpress5.0.0版本,其他版本不受该漏洞的影响,主要发生原因是裁剪图片功能存在注入,导致可以远程读取图片,可以将恶意的代码图片文件写入到网站的根目录下,最后利用文件包含的漏洞来生成shell获取网站的最高权限。
关于wordpress网站漏洞的修复建议,网站的运营者尽快升级wordpress版本到最新版本,不要再使用5.0.0版本,对网站的补丁及时的登录后台进行更新,如果网站已遭受到攻击,建议立即对网站进行木马文件的检测与清除,做好网站安全加固,也可以找专业的网站安全公司来解决问题。本文来源www.sinesafe.com