SSRF的原理和防范
背景
最近做的安全测评主要是SSRF,发现自己在这一块有挺大知识盲点,抓紧补一下。
1.介绍
SSRF(Server-Side Request Forgery:服务器端请求伪造),是一种攻击者利用服务端发起请求的安全漏洞。攻击者能够诱使服务端应用程序向攻击者选择的域发出HTTP请求。
SSRF针对的目标通常是从外部无法访问的内网系统。正因为它是由服务端发起的,所以它能请求到与它相通而与外部隔离的内网系统,可被用于作为代理来实施内网(或者远程服务器)的攻击。
2.成因
- 大都是由于服务端提供了从其他服务器应用获取数据的功能,而没有对目标地址进行严格过滤与限制,一旦被发现,攻击者可以构造恶意请求实施攻击。
3.危害与防范
3.1 危害
- 成功的SSRF攻击常用会导致黑客在易受攻击的应用程序本身或应用程序与之通信的其他后端系统执行未授权(恶意)操作,和对组织内数据的访问。特殊情况下,SSRF漏洞可能允许攻击者执行任意命令。
- SSRF可能的攻击方式和危害如下:
- 让服务端去访问内网的一些WEB应用指纹文件来判断是否存在相应的CMS,从而收集内网CMS信息
- 可以使用file、dict、gopher、ftp协议进行请求访问相应的文件,可能造成文件任意读取,导致敏感信息泄漏
- 攻击内网web应用,可以向内部任意主机的任意端口发送精心构造的数据包,如果应用本身存在漏洞,可能造成远程命令执行
- 攻击内网应用程序(利用跨协议通信技术)
- 内网端口扫描,通过访问看是否有端口开放,从而获取内网端口开放信息
- 拒绝服务攻击,请求大文件,始终保持链接keep-alive alway,导致拒绝服务
3.2 防范
- 禁止服务端跳转,防止以跳转方式绕过HTTP协议限制
- 对于SSRF,回显是能够成功利用的重要条件,所以过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。如果WEB应用是去获取某一种类型的文件,那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。
- 禁用不需要的协议,仅仅允许HTTP和HTTPS请求。可以防止类似于
file://
、gopher://
、ftp://
等引起的问题 - 设置URL白名单或者限制内网IP,避免应用被用来获取内网数据,攻击内网
- 限制请求的端口为HTTP常用的端口,例如80、443、8080、8090
- 统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态
SSRF的原理和防范的更多相关文章
- Atitit.图片木马的原理与防范 attilax 总结
Atitit.图片木马的原理与防范 attilax 总结 1.1. 像图片的木马桌面程序1 1.2. Web 服务端图片木马1 1.3. 利用了Windows的漏洞1 1.4. 这些漏洞不止Windo ...
- UDP反射DDoS攻击原理和防范
东南大学:UDP反射DDoS攻击原理和防范 2015-04-17 中国教育网络 李刚 丁伟 反射攻击的防范措施 上述协议安装后由于有关服务默认处于开启状态,是其被利用的一个重要因素.因此,防范可以从配 ...
- 网络XSS攻击和CSRF攻击原理及防范
网络XSS攻击和CSRF攻击原理及防范 原文地址:http://www.freebuf.com/articles/web/39234.html 随着Web2.0.社交网络.微博等等一系列新型的互联网产 ...
- 分布式拒绝服务攻击(DDoS)原理及防范【转】
DDoS攻击概念 DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应. DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击 ...
- CC攻击原理及防范方法和如何防范CC攻击
一. CC攻击的原理: CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃.CC主要是用来消耗服务器资源的,每个人都有这样的体验:当一个网页访问的人数 ...
- CC攻击原理及防范方法
一. CC攻击的原理: CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃.CC主要是用来消耗服务器资源的,每个人都有这样的体验:当一个网页访问的人数 ...
- web安全防范之SQL注入攻击、攻击原理和防范措施
SQL注入 攻击原理 在编写SQL语句时,如果直接将用户传入的数据作为参数使用字符串拼接的方式插入到SQL查询中,那么攻击者可以通过注入其他语句来执行攻击操作,这些攻击包括可以通过SQL语句做的任何事 ...
- CSRF的原理和防范措施
a)攻击原理: i.用户C访问正常网站A时进行登录,浏览器保存A的cookie ii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参 ...
- Sync 攻击原理及防范技术
据统计,在所有黑客攻击事件中,SYN攻击是最常见又最容易被利用的一种攻击手法.相信很多人还记得2000年YAHOO网站遭受的攻击事例,当时黑客利用的就是简单而有效的SYN攻击,有些网络蠕虫病毒配合SY ...
随机推荐
- 【c++ Prime 学习笔记】第9章 顺序容器
一个容器是特定类型对象的集合 顺序容器中元素的顺序与其加入容器的位置对应 关联容器中元素的顺序由其关联的关键字决定,关联容器分为有序关联容器和无序关联容器 所有容器类共享公有接口,不同容器按不同方式扩 ...
- .net Xml加密解密操作
生成密钥的方法: /// <summary>生成RSA加密 解密的 密钥 /// 生成的key就是 方法EncryptByRSA与DecryptByRSA用的key了 /// </s ...
- Noip模拟46 2021.8.23
给了签到题,但除了签到题其他的什么也不会.... T1 数数 人均$AC$,没什么好说的,就是排个序,然后双指针交换着往中间移 1 #include<bits/stdc++.h> 2 #d ...
- PriorityQueue(优先队列)
PriorityQueue 翻译过来就是优先队列,本质是一个堆, 默认情况下堆顶每次都保留最小值,每插入一个元素,仍动态维护堆顶为最小值. PriorityQueue 一个基于优先级的无界优先级队列. ...
- 使用 ASP.NET Core 3.1 的微服务开发指南
使用 ASP.NET Core 3.1 的微服务 – 终极详细指南 https://procodeguide.com/programming/microservices-asp-net-core/ A ...
- 数值的整数次方 牛客网 剑指Offer
数值的整数次方 牛客网 剑指Offer 题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方 class Solution: #run ...
- 替换空格 牛客网 剑指Offer
替换空格 牛客网 剑指Offer 题目描述 请实现一个函数,将一个字符串中的每个空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20A ...
- JAVA笔记1__基本数据类型/输入输出/随机数/数组
/**八种基本数据类型 boolean byte short int long char float double */ public class test1{ public static void ...
- [命令行]Mysql 导入 excel 文件
将 excel 表格中的数据批量导入数据库中 将要导入的表删除字段名,只留下要导入的数据. 将文件另存为 *.csv格式,可以用记事本打开(实际上就是标准的逗号分隔的数据 进入mysql,输入命令,打 ...
- 关于Arrays类的静态方法asList()
Array.asList():是数组转成集合的方法 List<String> list = Arrays.asList(new String[]{"AA", " ...