WordPress Page Builder KingComposer 2.9.6 Open Redirection

WordPress Page Builder KingComposer 2.9.6 Open Redirection

WordPress 插件 KingComposer 版本2.9.6 以及以前版本受到开放重定向漏洞的影响。该漏洞在packetstorm网站披露于2023年7月24日,除了该漏洞,该版本的插件还存在XSS攻击的漏洞风险
在这里插入图片描述

图1.来自packetstorm网站的WordPress Page Builder KingComposer 2.9.6漏洞的说明

根据从调查这些攻击中了解到的情况,FOFA执行了互联网范围的扫描,以识别受损WordPress实例。通过这些扫描,FOFA识别出全球 16个 安装KingComposer 插件的WordPress实例,这些实例主要来源于美国、德国、法国、瑞士、日本等国家。首先,这些网站不太可能有专门的IT人员来管理他们的邮件服务器,并且可能不太可能有效地检测和修复事件。其次,这些网站中有部分网站存在不再被使用的现象。
值得注意的是,在该插件版本之前,就已经披露过相关类型的漏洞,这意味着官方可能并没有注意到这个漏洞的存在。
在这里插入图片描述
图2.受感染的WordPress服务器的地理分布(按IP的地理位置)
WordPress 最早出现开放重定向的插件漏洞可以追溯到2013年8月披露的WordPress Encrypted Blog 0.0.6.2 漏洞。大部分原因是由于插件的开发者并没有考虑相关的原因。
这篇文章详细介绍了WordPress Page Builder KingComposer 2.9.6 开放重定向漏洞的工作原理,并详细介绍了重定向的的过程,表明了 WordPress 实例遭到入侵。

分析

当 Web 应用程序接受不受信任的输入时,可能会导致 Web 应用程序将请求重定向到不受信任输入中包含的 URL,则可能会出现未经验证的重定向和转发。通过修改恶意站点的不受信任的 URL 输入,攻击者可以成功发起网络钓鱼诈骗并窃取用户凭据。

如果不对在代码中进行相应的代码约束,就会导致漏洞的出现。
为了进行测试,向满足漏洞条件的实例采取如下步骤:

  • 制作一个用户难以识别的虚假网站
  • 设计一个重定向虚假网站的payload
  • 向装在该插件的实例发送payload请求
    在执行这些步骤之后,我们可以返回到我们精心设计的虚假网站,并诱导用户进行一系列操作。
    在这里插入图片描述
    我们在该网站设置预制的payload将其重定向到FOFA网站。
    在这里插入图片描述
    当执行响应后,页面离开原来的站点。
    在这里插入图片描述
    防止开放重定向只需要判断重定向的链接是否是合法的链接即可。
      1. 如果登录链接和站点其他页面都在同一个域名,一般可以依靠编程语言自身的相关函数即可处理,如在ASP.MVC中可以用Url.IsLocalUrl(string url)来判断。
      2. 如果登录链接和站点其他页面不在同一个域名,则需要自己去实现判断的逻辑。
public ActionResult LogOn(LogOnModel model, string returnUrl){//a demo code to avoid  Open RedirectionFormsAuthentication.SetAuthCookie(model.UserName, false);if (!string.IsNullOrEmpty(returnUrl)&& Url.IsLocalUrl(returnUrl))  {return Redirect(returnUrl);}return RedirectToAction("Index", "Home");}

可能的广泛利用

一般而言,此类型漏洞均是通过伪造网站来达到欺骗用户的目的。
下表显示了在此扫描中发现的服务器受到最多入侵的国家/地区,此扫描存在一定的时效性,因此受感染服务器的真实数量可能更高。在这里插入图片描述
值得注意的是,通常受感染的组织可能位于与WordPress实例不同的国家/地区,因为这些统计信息基于 IP 地址地理位置.

结论

总而言之,开放重定向漏洞是经常出现在插件以及主题上的一种漏洞,尽管不会威胁到实例的内部核心数据,却会导致用户可能会被虚假网站欺骗,出于安全的目的,建议开发者修复相关漏洞。

如果您的组织无法执行事件响应,或者您无法聘请第三方进行事件响应,那么遵守如下建议:

  • 使用最新补丁重建对应的实例
  • 如果无法避免用户输入,请确保提供的值有效、适合应用程序,并且已授权给用户。
  • 通过创建受信任 URL 列表(主机列表或正则表达式)来清理输入。
    这应基于允许列表方法,而不是阻止列表。
  • 强制所有重定向首先浏览一个页面,通知用户他们正在离开您的网站,并清楚地显示目标,并让他们点击链接进行确认。

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

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

相关文章

【设备树笔记整理7】实践操作

1 使用设备树给DM9000网卡_触摸屏指定中断 1.1 修改方法 根据设备节点的compatible属性,在驱动程序中构造/注册 platform_driver,在 platform_driver 的 probe 函数中获得中断资源。 1.2 实验方法 以下是修改好的代码:第6课第1节_网卡_触摸…

30岁了,说几句大实话

是的,我 30 岁了,还是周岁。 就在这上个月末,我度过了自己 30 岁的生日。 都说三十而立,要对自己有一个正确的认识,明确自己以后想做什么,能做什么。 想想时间,过得真快。 过五关斩六将&…

RK开发板的USB连接(Ubuntu)

一、安装连接工具 sudo apt-get install putty 二、启动putty工具 sudo putty 三、连接usb,并查看相关的信息 # 查看接入的是否有usb ls /dev/tty* 显示如下:(含有usb接口: /dev/ttyUSB0) /dev/tty /dev/tty23 /d…

go语言基础语法

1、注释 package mainimport "fmt"/* *多行注释*/ func main() {//单行注释fmt.Println("hello world") }2、变量 2.1、变量定义 标准格式 var 变量名 变量类型 如 var age int Go语言的基本类型有: boolstringint、int8、int16、int32、…

MybatisPlus 核心功能 条件构造器 自定义SQL Service接口 静态工具

MybatisPlus 快速入门 常见注解 配置_软工菜鸡的博客-CSDN博客 2.核心功能 刚才的案例中都是以id为条件的简单CRUD,一些复杂条件的SQL语句就要用到一些更高级的功能了。 2.1.条件构造器 除了新增以外,修改、删除、查询的SQL语句都需要指定where条件。因此…

qt day5 数据库,tcp

数据库 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QSqlDatabase>//数据库管理类 #include <QSqlRecord>//记录类 #include <QSqlQuery>//执行sql语句对应的类 #include <QMessageBox> #include<QDebug> …

K8S:二进制部署K8S(两台master+负载均衡nginx+keepalived)

文章目录 一.常见的K8S部署方式1.Minikube2.Kubeadmin3.二进制安装部署 二.二进制搭建K8S(双台master)1.部署架构规划2.系统初始化配置3.部署 docker引擎4.部署 etcd 集群&#xff08;1&#xff09;etcd简介&#xff08;2&#xff09;准备签发证书环境&#xff08;3&#xff09…

企业文件数据透明加密保护——防泄密软件系统

天锐绿盾电脑文件数据透明加密、防泄密系统是一款全面的加密软件系统&#xff0c;主要从源头上保障数据安全和使用安全。该系统采用文件过滤驱动实现透明加解密&#xff0c;对用户完全透明&#xff0c;不影响用户操作习惯&#xff0c;从源头上保障企业数据安全。通过对电子文档…

MLOps:掌握机器学习部署:Docker、Kubernetes、Helm 现代 Web 框架

介绍&#xff1a; 在机器学习的动态世界中&#xff0c;从开发模型到将其投入生产的过程通常被认为是复杂且多方面的。 然而&#xff0c;随着 Docker、Kubernetes 等工具以及 FastAPI、Streamlit 和 Gradio 等用户友好的 Web 框架的出现&#xff0c;这一过程变得比以往更加简化…

Windows和Linux环境中安装Zookeeper具体操作

1.Windows环境中安装Zookeeper 1.1 下载Zookeeper安装包 ZooKeeper官网下载地址 建议下载稳定版本的 下载后进行解压后得到如下文件&#xff1a; 1.2 修改本地配置文件 进入解压后的目录&#xff0c;将zoo_example.cfg复制一份并重命名为zoo.cfg,如图所示&#xff1a; 打…

Java的23种设计模式

Java的23种设计模式 一、创建型设计模式1.单例模式 singleton1.1.静态属性单例模式1.2 静态属性变种1.3 基础的懒汉模式1.4 线程安全的懒加载单例1.5 线程安全的懒加载 单例-改进1.6 双重检查锁1.7 静态内部类1.8 枚举单例1.9 注册表单例 2.工厂方法模式 factory3.抽象工厂模式…

【力扣】304. 二维区域和检索 - 矩阵不可变 <二维前缀和>

目录 【力扣】304. 二维区域和检索 - 矩阵不可变二维前缀和理论初始化计算面积 题解 【力扣】304. 二维区域和检索 - 矩阵不可变 给定一个二维矩阵 matrix&#xff0c;以下类型的多个请求&#xff1a; 计算其子矩形范围内元素的总和&#xff0c;该子矩阵的 左上角 为 (row1, …