1.简介
2014年12月14日,国外Sucuri安全博客报道了大量的WordPress站点受到SoakSoak恶意软件影响的消息。据报道,该恶意软件会感染的WordPress的源码文件,在里面植入恶意代码。攻击者利用SoakSoak对受感染的站点进行挂马,植入后门等一系列攻击行为。
2.漏洞详情
(1)漏洞描述
据报道,此次SoakSoak恶意软件在大量的WordPress站点中的爆发源于一款名为Revslider的幻灯片插件,该插件曾被爆多个安全漏洞,涉及任意文件下载,任意文件上传等.Revslider由ThemePunch出品,属于一款商业性插件(收费),因其具有强大的功能和良好的易用性而有着不错的销量,并且在ThemePunch出品的一些WordPress的主题中也自带有该款插件。
攻击者可能利用了该插件的任意文件下载漏洞获取了大量的WordPress的的WP-config.php的配置文件,并通过任意文件上传漏洞上传webshell了对WordPress的的源码文件进行修改并插入了恶意代码。结合报道文章中所提到的,攻击者应该是通过修改了WordPress中“/wp-content/template-loader.php”的源代码,使得在访问受感染WordPress站点的页面的同时远程加载了soaksoak.ru上的一段JavaScript的脚本。攻击者通过该段的JavaScript脚本来对特定的浏览器进行攻击。
(2)漏洞分析
Revslider插件(插件链接:http : //codecanyon.net/item/slider-revolution-responsive-wordpress-plugin/2751380)任意文件上传漏洞与任意文件下载漏洞简要分析。
(3)任意文件上传漏洞
因Revslider插件属于收费插件,下面是对版本号为3.0.3的分析和测试结果。
任意文件上传漏洞源于该插件自带的“插件更新”“功能,在启用该插件的同时会将一系列的动作操作都注册到WordPress的ajax请求里。并且插件在接受更新请求后并没有判断用户权限,导致恶意者可利用该点进行攻击。
所涉及文件:/revslider_admin.php
该插件在启用时,会将ajax_action参数与函数onAjaxAction()进行绑定,当通过/wp-admin/admin-ajax.php向插件传递参数时会调用onAjaxAction()。
onAjaxAction()函数关键部分如下:
当post参数$ client_action为“update_plugin”时,会调用updatePlugin()开始升级插件。
updatePlugin()函数位于/inc_php/framework/base_admin.class.php中。
所涉及文件:/inc_php/framework/base_admin.class.php
简要分析一下文件上传漏洞形成的过程首先该函数(updatePlugin())获取了交过来的文件的信息:
$ arrFiles = UniteFunctionsRev :: getVal($ _ FILES,“update_file”);
随后会获取上传文件的文件名,MIME类型(插件将MIME类型的检测代码注释掉了)。
然后获取了上传文件的临时路径和创建目录“/ temp / update_extract”(目录创建失败会抛出异常并中止处理):
如果“/ temp / update_extract”创建成功,会清理该目录下的所有文件,然后将上传的文件移动至该目录下:
这里很明显,没有对上传文件做限制,直接使用move_uploaded_file()将上传文件(任意)拷贝到了“/ temp / update_extract /”目录下,后续的处理都不用再分析。
本地构造如下表单:
其中TEMP.TXT内容为:
测试文件上传
然后点击上传:
这里可以看到,回显提示“更新错误”,但是根据刚才的分析,上传的文件其实已经通过move_uploaded_file()拷贝到了“/ temp / update_extract /”目录下。
(4)任意文件下载漏洞
该插件在启用后,提供了一个show_image的功能,可以通过WordPress的的AJAX调用来使用该功能,但在该功能实现的过程中考虑不全导致了任意文件下载,使得攻击者能通过该漏洞下载到WordPress的的配置文件的wp-config.php文件,获得数据库连接信息等敏感数据。
所涉及文件:/inc_php/framework/base_admin.class.php
在函数原型位于“/inc_php/framework/base.class.php”中。这个函数将在onShowImage()函数中使用,其中onShowImage()函数原型位于“/inc_php/framework/base.class.php”中。
所涉及文件:/inc_php/framework/base.class.php
2020年09月17日,IBM发布安全公告,WebSphere Application Server中存在一个安全漏洞,该漏洞是由于WebSphere Application Server在处理XML数据时容易受到XML外部实体注入(XXE)攻击。
2020年9月22日,FastAdmin远程代码执行漏洞细节曝光,黑客登录前台会员中心,即可远程GetShell,风险极大。
2020年9月17日,VMware发布安全公告,在Spring Framework版本5.2.0-5.2.8、5.1.0-5.1.17、5.0.0-5.0.18、4.3.0-4.3.28和较旧的不受支持的版本中,发现了一个存在于Spring Framework中的反射型文件下载(Reflected File Download,RFD)漏洞(CVE-2020-5421)。
获取安全动态