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.mzph.cn/news/67313.shtml

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

相关文章

AI「反腐」,德国马普所结合 NLP 和 DNN 开发抗蚀合金

内容一览:在被不锈钢包围的世界中,我们可能都快忘记了腐蚀的存在。然而,腐蚀存在于生活中的方方面面。无论是锈迹斑斑的钢钉,老化漏液的电线,还是失去光泽的汽车,这一切的发生都与腐蚀有关。据统计&#xf…

通信笔记:RSRP、RSRQ、RSNNR

0 基础概念:RE、RS和RB RE (Resource Element):资源元素是 LTE 和 5G 网络中的最小物理资源单位。一个资源元素对应于一个子载波的一个符号周期。 RS (Reference Signal):参考信号是在 LTE 和 5G 网络中用于多种目的的特定类型的信号。它们可…

深入剖析云计算与云服务器ECS:从基础到实践

云计算已经在不断改变着我们的计算方式和业务模式,而云服务器ECS(Elastic Compute Service)作为云计算的核心组件之一,为我们提供了灵活、可扩展的计算资源。在本篇长文中,我们将从基础开始,深入探讨云计算…

数学建模--三维图像绘制的Python实现

目录 1.绘制三维坐标轴的方法 2.绘制三维函数的样例1 3.绘制三维函数的样例2 4.绘制三维函数的样例3 5.绘制三维函数的样例4 6.绘制三维函数的样例5 1.绘制三维坐标轴的方法 #%% #1.绘制三维坐标轴的方法 from matplotlib import pyplot as plt from mpl_toolkits.mplot3…

【算法系列篇】分冶-快排

文章目录 前言什么是分冶1.颜色分类1.1 题目要求1.2 做题思路1.3 Java代码实现 2. 排序数组2.1 题目要求2.2 做题思路2.3 Java代码实现 3.数组中的第k个最大元素3.1 题目要求3.2 做题思路3.3 Java代码实现 4. 最小的k个数4.1 题目要求4.2 做题思路4.3 Java代码实现 总结 前言 …

Python Tkinter Multiple Windows 教程

一、说明 在这个Python Tkinter教程中,我们将学习如何在Python Tkinter中创建多个窗口,我们还将介绍与多个窗口相关的不同示例。而且,我们将介绍这些主题。 Python Tkinter multiple windows使用多个窗口的 Python Tkinter 用户注册Python Tk…

7 Series FPGAs GTX/GTH Transceivers

目录 1. Overview2. Block Diagram3. Transmitter4. Receiver5. Physical Coding Sublayer(PCS)6. Physical Medium Attachment(PMA) 本博客为Xilinx 7系列FPGA的千兆比特高速收发器(Gigabit Transceiver, GT&#xff…

【聚类】DBCAN聚类

OPTICS是基于DBSCAN改进的一种密度聚类算法,对参数不敏感。当需要用到基于密度的聚类算法时,可以作为DBSCAN的一种替代的优化方案,以实现更优的效果。 原理 基于密度的聚类算法(1)——DBSCAN详解_dbscan聚类_root-ca…

跨源资源共享(CORS)Access-Control-Allow-Origin

1、浏览器的同源安全策略 没错,就是这家伙干的,浏览器只允许请求当前域的资源,而对其他域的资源表示不信任。那怎么才算跨域呢? 请求协议http,https的不同域domain的不同端口port的不同 好好好,大概就是这么回事啦&…

【权限提升-Windows提权】-UAC提权之MSF模块和UACME项目-DLL劫持-不带引号服务路径-不安全的服务权限

权限提升基础信息 1、具体有哪些权限需要我们了解掌握的? 后台权限,网站权限,数据库权限,接口权限,系统权限,域控权限等 2、以上常见权限获取方法简要归类说明? 后台权限:SQL注入,数…

伪类与伪元素

伪类与伪元素 伪类和伪元素的引入是因为在文档树里有些信息无法被充分描述,引用标准中的话就是:CSS引入伪类和伪元素的概念是为了实现基于文档树之外的信息的格式化。 文档树又称标准流,是浏览器在渲染显示网页内容时默认采用的一套排版规则…

1780_添加鼠标右键空白打开命令窗功能

全部学习汇总: GitHub - GreyZhang/windows_skills: some skills when using windows system. 经常执行各种脚本,常常需要切换到命令窗口中输入相关的命令。从开始位置打开cmd然后切换目录是个很糟糕的选择,费时费力。其实Windows 7以及Windo…

经管博士科研基础【19】齐次线性方程组

1. 线性方程组 2. 非线性方程组 非线性方程,就是因变量与自变量之间的关系不是线性的关系,这类方程很多,例如平方关系、对数关系、指数关系、三角函数关系等等。求解此类方程往往很难得到精确解,经常需要求近似解问题。相应的求近似解的方法也逐渐得到大家的重视。 3. 线…

vue3 封装千分位分隔符自定义指令

toLocaleString作用:在没有指定区域的基本使用时,返回使用默认的语言环境和默认选项格式化的字符串。可点击进入MDN查看 // 千分位分隔符指令 import { Directive, DirectiveBinding } from vueconst thousandSeparator: Directive {mounted(el: any, …

Win10搭建VisualSvn Server

Win10搭建VisualSvn Server 目录 Win10搭建VisualSvn Server一、下载VisualSvn Server安装包二、安装VisualSvn Server三、配置和使用VisualSVN Server四、添加用户及权限设定方法五、创建目录及配置权限 1、服务端:有集成了Subversion和Apache、安装使用非常简单且…

Redis从基础到进阶篇(三)----架构原理与集群演变

目录 一、缓存淘汰策略 1.1 LRU原理 1.2 案例分析 1.3 Redis缓存淘汰策略 1.3.1 设置最⼤缓存 1.3.2 淘汰策略 二、Redis事务 2.1 Redis事务典型应⽤—Redis乐观锁 2.2 Redis事务介绍 2.3 事务命令 2.3.1 MULTI 2.3.2 EXEC 2.3.3 DISCARD 2.3.4 WATCH 2.3.5 UNW…

Flutter之hydrated_bloc源码分析

Flutter_Bloc是状态管理组件,hydrated_bloc是 Flutter_Bloc的扩展,它可以在APP重启的情况下,自动记录上次APP的状态。android中可以使用SharePreference来实现状态记录,在Flutter之hydrate_bloc组件入门指南一文中已经讲解了其基本用法,本篇博文就不对其原理进行简单分析,…

【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透

文章目录 前言1. 下载Gitlab2. 安装Gitlab3. 启动Gitlab4. 安装cpolar5. 创建隧道配置访问地址6. 固定GitLab访问地址6.1 保留二级子域名6.2 配置二级子域名 7. 测试访问二级子域名 前言 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具&#xf…

视频汇聚/视频云存储/视频监控管理平台EasyCVR部署后无法正常启用是什么问题?该如何解决?

安防监控/视频监控/视频汇聚平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,视频云存储/安防监控汇聚平台EasyCVR支持多种播放协议,包括:HLS、HTTP-FLV、WebSoc…

MavenCentral库发布记录

最近发布了 Android 路由库 URouter,支持 AGP8、ActivityResult启动等特性。 把提交到 Maven Central 过程记录一下。 一、注册 Sonatype 账号,新建项目 注册 https://​​issues.sonatype.org 登录后,新建项目: 相关选项&…