网络安全深入学习第六课——热门框架漏洞(RCE— Weblogic反序列化漏洞)

文章目录


一、Weblogic介绍

目前Weblogic在全球的使用量也占居前列,据统计,在全球范围内对互联网开放Weblogic服务的资产数量多达35382台,美国和中国的Weblogic的使用量接近Weblogic总使用量的70%,其中归属中国地区的资产数量为10562台。

  • Weblogic漏洞大部分都是在201X年报出来的。
  • Weblogic常用端口:7001

二、Weblogic反序列化漏洞历史

  • #SSRF:

    CVE-2014-4210

  • #JAVA反序列化:

    CVE-2015-4852

    CVE-2016-0638

    CVE-2016-3510

    CVE-2017-3248

    CVE-2018-2628

    CVE-2018-2893

  • #任意文件上传

    CVE-2018-2894

  • #XMLDecoder反序列化:

    CVE-2017-10271

    CVE-2017-3506

  • Weblogic活跃的几个较新版本

    Weblogic 10.3.6.0

    Weblogic 12.1.3.0

    Weblogic 12.2.1.1

    Weblogic 12.2.1.2

    Weblogic 12.2.1.3


三、Weblogic框架特征

1、404界面

2、登录界面

一般默认的后台地址是:IP:7001/console/login/LoginForm.jsp


四、weblogic常用弱口令账号密码


五、Weblogic漏洞介绍

weblogic密码使用AES(老版本3DES)加密,对称加密可解密,只需要找到用户的密文与加密时的密钥即可。这两个文件均位于base_domain下,名为SerializedSystemIni.dat和config.xml


六、Weblogic漏洞手工复现

1、获取账号密码,这是一个任意文件读取的漏洞

1)读取SerializedSystemIni.dat文件,获取加密密钥

访问http://ip:7001/hello/file.jsp?path=security/SerializedSystemIni.dat,这里存在一个任意文件读取漏洞


注意:SerializedSystemIni.dat是一个二进制文件,所以一定要用burpsuite来读取,用浏览器直接下载可能引入一些干扰字符。在burp里选中读取到的那一串乱码,然后复制下来,保存到本地,并同样命名为:1.dat

2)读取config.xml文件,获取加密后的密码

访问 http://ip:7001/hello/file.jsp?path=config/config.xml,其中的`<node-manager-password-encrypted>`的值,即为加密后的管理员密码

3)使用工具,获取明文的密码

这样子就获得管理员的密码了。

2、后台上传shell(前提:使用刚刚任意文件读取获取到的账号密码登录成功)

1)上传入口

上传入口:域结构-部署-安装-上传文件-将此部署安装为应用程序。然后访问项目名称即可。

2)上传路径

上传路径:域结构-部署-安装-上传文件-将此部署安装为应用程序。然后访问项目名称即可。

点击"上传文件"后跳转到下面的页面

3)上传shell,这里需要上传war文件

这里注意需要上传JSP的shell,下面就需要对shell.jsp进行处理

把文件压缩

然后修改文件的扩展名为shell.war

上传shell后点击"下一步"

显示这个就表示shell上传成功了,这里还带有路径

然后就一直点击"下一步"

最后点击"完成",这里上传shell操作就结束了。

4)使用shell工具连接

因为这里使用的是冰蝎的马,所以就使用冰蝎连接

连接路径如下:


七、后记

Weblogic除了上面演示的漏洞外,还有其他的漏洞,这里就不逐个介绍了,有兴趣的可以自行到各大技术论坛查找。


相关推荐
Charles Ray30 分钟前
C++学习笔记 —— 内存分配 new
c++·笔记·学习
我要吐泡泡了哦1 小时前
GAMES104:15 游戏引擎的玩法系统基础-学习笔记
笔记·学习·游戏引擎
骑鱼过海的猫1231 小时前
【tomcat】tomcat学习笔记
笔记·学习·tomcat
qmx_072 小时前
HTB-Jerry(tomcat war文件、msfvenom)
java·web安全·网络安全·tomcat
贾saisai4 小时前
Xilinx系FPGA学习笔记(九)DDR3学习
笔记·学习·fpga开发
北岛寒沫4 小时前
JavaScript(JS)学习笔记 1(简单介绍 注释和输入输出语句 变量 数据类型 运算符 流程控制 数组)
javascript·笔记·学习
铁匠匠匠5 小时前
从零开始学数据结构系列之第六章《排序简介》
c语言·数据结构·经验分享·笔记·学习·开源·课程设计
架构文摘JGWZ7 小时前
Java 23 的12 个新特性!!
java·开发语言·学习
小齿轮lsl7 小时前
PFC理论基础与Matlab仿真模型学习笔记(1)--PFC电路概述
笔记·学习·matlab
Aic山鱼7 小时前
【如何高效学习数据结构:构建编程的坚实基石】
数据结构·学习·算法