数仓安全测试之SSRF漏洞
摘要:SSRF (Server-Side Request Forgery,服务器端请求伪造)是指由攻击者构造请求,然后利用服务器的漏洞以服务端的身份向内网发送请求对内网发起攻击。
本文分享自华为云社区《GaussDB(DWS)安全测试之SSRF漏洞》,作者: ACBD。
1. 什么是SSRF漏洞
SSRF (Server-Side Request Forgery,服务器端请求伪造)是指由攻击者构造请求,然后利用服务器的漏洞以服务端的身份向内网发送请求对内网发起攻击。一般情况下,SSRF攻击的目标是外网无法访问的内部系统,因为请求是服务端发起的,所以服务端就能请求到与其网络通畅而与外网隔离的内网系统。
SSRF漏洞的形成大多是因为服务端可以从其他服务器获取数据,但没有对服务端的请求做校验,导致攻击者通过服务端向服务器发送事先构造好的请求,攻击者把存在漏洞的服务器作为跳板,从而达到访问内网服务器的目的。
如下图所示,服务器A存在SSRF漏洞可被攻击者访问,内网中的其他服务器不能被攻击者直接访问,攻击者就可以向服务器A发送请求,服务器A再向内部服务器发送请求,内部服务器返回数据给服务器A,服务器A再将内部服务器的响应数据返回给攻击者,服务器A作为中间人被攻击者利用,从而达到攻击者的目的。

2. SSRF漏洞常见攻击类型
2.1 本地敏感数据窃取
利用file协议可以访问Web本地文件。如下图所示,在url后面拼接本地服务器文件地址(提前在C:\Users\Public下创建一个文件test.txt,写入内容“This is a test for SSRF!”),即可读取本地文件内容。

2.2 端口探测
在我们利用SSRF漏洞去攻击内网服务器时,并不知道内网中有什么样的应用和IP,也不知道开放了什么端口以及端口对应的服务,此时我们可以利用SSRF漏洞先对内网做IP+端口的扫描。端口的开放、关闭状态不同,响应的返回时间也会有差别,据此就可以判断端口的开放状态。
如下图所示,不同的端口响应时间不同,如果端口的响应时间明显少于其他端口,则该端口很有可能是开放状态。



3. SSRF攻击总结
3.1 SSRF攻击测试思路
SSRF漏洞挖掘一般有两种思路,一种是黑盒的方法,另一种是白盒的方法。
黑盒的方法是找到所有调用外部资源的场景,进行漏洞排查,主要排查点包括
- 图片加载下载
- 社交分享功能
- 文章收藏功能
- 网站采集
- 未公开的api接口
- 从远程服务器请求资源
白盒的方法是从项目支持的网络协议、项目中使用的发起网络请求的类和API以及访问地址中是否有外部可控的变量三个方面进行排查。常见的协议有file、ftp、http、https等,关注能够利用上述协议发起网络请求的类,然后关注传入的变量是否外部可控,如果外部可控则可能存在问题。
3.2 常见的防护措施
- 网络层面,在URL中过滤掉内网IP,如localhost等。
- 应用层面,过滤掉不常用且有危险的协议,对返回的内容及报错信息做好处理避免泄露敏感信息,以及对内部访问做二次认证等。
数仓安全测试之SSRF漏洞的更多相关文章
- ssrf漏洞随笔
一.ssrf漏洞定义 SSRF漏洞:SSRF是一 种由攻击者构造请求,由服务端发起请求的安全漏洞.一般情况下,ssrf攻击的目标是外网无法访问的内部系统 SSRF漏洞( 服务器端请求伪造 )也被称为跨 ...
- 【CDH数仓】Day02:业务数仓搭建、Kerberos安全认证+Sentry权限管理、集群性能测试及资源管理、邮件报警、数据备份、节点添加删除、CDH的卸载
五.业务数仓搭建 1.业务数据生成 建库建表gmall 需求:生成日期2019年2月10日数据.订单1000个.用户200个.商品sku300个.删除原始数据. CALL init_data('201 ...
- WebLogic SSRF 漏洞 (简要翻译)
[Ref]http://blog.gdssecurity.com/labs/2015/3/30/weblogic-ssrf-and-xss-cve-2014-4241-cve-2014-4210-cv ...
- SSRF漏洞总结
SSRF漏洞:(服务端请求伪造)是一种由攻击者构造形成由服务端发起请求的一个安全漏洞.一般情况下,SSRF攻击的目标是从外网无法访问的内部系统.(正是因为它是由服务端发起的,所以它能够请求到与它相连而 ...
- 浅谈SSRF漏洞
SSRF漏洞是如何产生的? SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞.一般情况下,SSRF是要目标网站 ...
- SSRF漏洞挖掘经验
SSRF概述 SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞.一般情况下,SSRF攻击的目标是从外网无法访问 ...
- SSRF漏洞浅析
大部分web应用都提供了从其他的服务器上获取数据的功能,如使用用户指定的URL,web应用可以获取图片,下载文件,读取文件内容等.如果服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与 ...
- weblogic系列漏洞整理 -- 5. weblogic SSRF 漏洞 UDDI Explorer对外开放 (CVE-2014-4210)
目录 五. weblogic SSRF 漏洞 UDDI Explorer对外开放 (CVE-2014-4210) 1. 利用过程 2. 修复建议 一.weblogic安装 http://www.cnb ...
- 数仓1.4 |业务数仓搭建| 拉链表| Presto
电商业务及数据结构 SKU库存量,剩余多少SPU商品聚集的最小单位,,,这类商品的抽象,提取公共的内容 订单表:周期性状态变化(order_info) id 订单编号 total_amount 订单金 ...
- 数仓1.1 分层| ODS& DWD层
数仓分层 ODS:Operation Data Store原始数据 DWD(数据清洗/DWI) data warehouse detail数据明细详情,去除空值,脏数据,超过极限范围的明细解析具体表 ...
随机推荐
- JS个人总结(2)
1.null被认为是一个空的对象引用..如果定义的变量准备将来用保存对象,最好将该变量初始化null.即 var x=null;这样只有检查null值就可以知道这个变量是否已经保存了一个对象.. 2. ...
- LLM在text2sql上的应用
一.前言: 目前,大模型的一个热门应用方向text2sql它可以帮助用户快速生成想要查询的SQL语句.那对于用户来说,大部分简单的sql都是正确的,但对于一些复杂逻辑来说,需要用户在产出SQL的基础上 ...
- Unity3D ConfigMan.cs For XML File
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...
- 3种web会话管理的方式(session)
阅读目录 https://www.cnblogs.com/lyzg/p/6067766.html 1. 基于server端session的管理 2. cookie-based的管理方式 3. tok ...
- 如何解决Asp.Net Core 3.1上传文件出现跨域
这个问题挺奇怪的,明明就是文件过大的问题,却出现了跨域的错误,搞不懂,有了解的大佬请指教. 但问题还是解决了,其实就是Nginx默认上传大小限制为1M,如果超出了,则出现跨域的错误. 一.自定义Ngi ...
- linux开发基于iMX6ULL-uboot编译环境配置
1.下载半导体官方的uboot和linux内核固件 2.下载uboot 3.下载linux内核(选择5.4版本的分支下载) 下载后如下所示 解压后如下 查看文件夹中的内容 创建一个git仓库然后开始自 ...
- Codeforces Global Round 13 A-D题题解
写在前边 链接:Codeforces Global Round 13 \(A,B,C,D\) A. K-th Largest Value 链接:A题链接 题目大意: 有一个字串只由\(0.1\)组成, ...
- 2020年第十一届蓝桥杯第二场C/C++ B组省赛题解
2020年第十一届蓝桥杯C/C++ B组省赛题解 试题A:门牌制作 [问题描述] 小蓝要为一条街的住户制作门牌号. 这条街一共有 \(2020\) 位住户,门牌号从 \(1\) 到 \(2020\) ...
- 🔥🔥Java开发者的Python快速进修指南:控制之if-else和循环技巧
简单介绍 在我们今天的学习中,让我们简要了解一下Python的控制流程.考虑到我们作为有着丰富Java开发经验的程序员,我们将跳过一些基础概念,如变量和数据类型.如果遇到不熟悉的内容,可以随时查阅文档 ...
- python之猜数字小游戏
import random#随机数函数 a = random.randint(0, 50)#随机0-50之内的整数 print('------------------SWS工作室----------- ...