文章目录
- 一、Weblogic介绍
- 二、Weblogic反序列化漏洞历史
- 三、Weblogic框架特征
- 1、404界面
- 2、登录界面
- 四、weblogic常用弱口令账号密码
- 五、Weblogic漏洞介绍
- 六、Weblogic漏洞手工复现
- 1、获取账号密码,这是一个任意文件读取的漏洞
- 1)读取SerializedSystemIni.dat文件,获取加密密钥
- 2)读取config.xml文件,获取加密后的密码
- 3)使用工具,获取明文的密码
- 2、后台上传shell(前提:使用刚刚任意文件读取获取到的账号密码登录成功)
- 1)上传入口
- 2)上传路径
- 3)上传shell,这里需要上传war文件
- 4)使用shell工具连接
- 七、后记
一、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除了上面演示的漏洞外,还有其他的漏洞,这里就不逐个介绍了,有兴趣的可以自行到各大技术论坛查找。