数仓安全测试之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数据明细详情,去除空值,脏数据,超过极限范围的明细解析具体表 ...
随机推荐
- python - networker api
Getting Started,概述 NetWorker REST API is an interface that provides programmatic access to the Net ...
- 每天5分钟复习OpenStack(四) virsh 常用命令
在上一章节中,我们拉起了第一台虚拟机,但是执行virsh shutdown 关机是无法关机的,需要使用virsh destroy 强制断电的命令来关机.为什么会这样了? 这里我们介绍下 QGA的概念 ...
- 【Python微信机器人】第一篇:在windows11上编译python
前言 我打算写一个系列,内容是将python注入到其他进程实现inline hook和主动调用.本篇文章是这个系列的第一篇,后面用到的案例是注入python到PC微信实现基本的收发消息.文章着重于py ...
- ELK日志企业案例:(5.3版本)
1.shell三剑客同居.分析nginx日志: 1)在企业生产环境中,日志内容主要用来做什么? 日志内容主要用于运维人员.开发人员.DBA排错软件服务故障的,因为通过日志内容能够第一时间找到软件服务的 ...
- Python 利用pandas和mysql-connector获取Excel数据写入到MySQL数据库
如何将Excel数据插入到MySQL数据库中 在实际应用中,我们可能需要将Excel表格中的数据导入到MySQL数据库中,以便于进行进一步的数据分析和处理.本文将介绍如何使用Python将Excel表 ...
- Python实现对word批量操作
Python在平时写写小工具真是方便快捷,Pyhon大法好. 以下所有代码都是找了好多网上的大佬分享的代码按照自己的需求改的. 调用的库为Python-docx.win32com.PyPDF2.xlw ...
- 教你如何使用PyTorch解决多分类问题
本文分享自华为云社区<使用PyTorch解决多分类问题:构建.训练和评估深度学习模型>,作者: 小馒头学Python. 引言 当处理多分类问题时,PyTorch是一种非常有用的深度学习框架 ...
- 线上ES集群参数配置引起的业务异常案例分析
作者:vivo 互联网数据库团队- Liu Huang 本文介绍了一次排查Elasticsearch node_concurrent_recoveries 引发的性能问题的过程. 一.故障描述 1.1 ...
- Jenkins从Ubuntu迁移至AlmaLinux问题及相关解决记录
相关背景 之前在Ubuntu平台上搭建了Jenkins(在Ubuntu机器上使用war包安装Jenkins),现在由于一些需求,需要将系统迁移到AlmaLinux平台.由于AlmaLinux属于Cen ...
- 6款AI工具网站,赶紧收藏,以备不时之需
1.海鲸AI-支持AI对话.AI文档解析.AI绘画 海鲸AI-基于新一代人工智能技术,只需输入问题,即可得到智能回答 https://www.weijiwangluo.com/talk/ 海鲸AI是 ...