WordPress 插件 Social Warfare

日期: 栏目:网络安全 浏览:1755 评论:0

Social Warfare是WordPress的一款流行社交分享插件,在WordPress站点上的安装量已达70000以上,该插件在WordPress社交分享类插件中也独占鳌头,用户可以利用该插件获得更多的社交分享,同时也可以利用该插件获得更多的网站流量。

WordPress 插件 Social Warfare-第1张图片-Ceacer网络

在2019年3月25日,国外安全研究人员在大量攻击数据中发现了一个WordPress plugins Social Warfare远程代码执行漏洞。该漏洞位于social-warfare\lib\utilities\SWP_Database_Migration.php文件中的eval()函数,该函数能够运行攻击者在“swp_url”GET参数中定义的PHP代码。此漏洞允许攻击者接管整个WordPress站点并管理您的主机帐户上的所有文件和数据库,从而实现完全远程接管整个服务器的目的。

在确定目前拥有超过70,000多个安装的易受攻击的插件在野外被积极利用之后,“Social Warfare”被从WordPress插件存储中删除,并在开发团队发布补丁以修复后再添加回来。下图来自WordPress插件存储库的插件“Social Warfare”的下载历史信息显示当天记录的下载量大约为19K,但仍有相当多的网站仍使用易受攻击的Social Warfare版本。

Social Warfare Plugin在WordPress插件库中一直保持着更新,该插件最近更新时间为2019年3月24日。

漏洞分析


//* Preserve filtered data, such as license keys.
$new_options = array_merge( get_option('social_warfare_settings'), $fetched_options );

if (update_option( 'social_warfare_settings', $new_options )) {
     wp_die('Social Warfare settings updated to match ' . $_GET['swp_url']);
}

在代码中,服务器通过获取到swp_url参数,然后使用file_get_contents读取该文件中的内容,存储到options中,然后经过识别内容中的<pre>标签,将处理过后的内容存入到$array中,最终,该参数被带入到eval参数中直接执行,造成远程代码执行漏洞。

漏洞复现

我们首先在任意版本WordPress上安装Social Warfare插件,然后使用构造好的payload攻击该网站,最终执行命令。


影响范围

目前据统计,在全球范围内对互联网开放WordPress网站的资产数量多达12833569台,其中归属中国地区的受影响WordPress资产数量为18万以上,该插件安装量达7万多站点。

目前受影响的Social Warfare Plugin版本:

Social Warfare Plugin < 3.5.3

修复建议

WordPress官方插件库已经在更新了该插件版本,该插件的用户可以更新至该插件的最新版本:https://wordpress.org/plugins/social-warfare/advanced/

 参考链接


评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。发布前请先查看评论规则:点我查看