Web安全之SSRF漏洞
内容
- SSRF漏洞的危害
- SSRF漏洞的挖掘
- SSRF漏洞的防御
- SSRF漏洞原理概述
背景
SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。
概述
很多Web应用都提供了从其他服务器上获取数据的功能。使用用户指定的URL,Web应用可以获取图片,下载文件,读取文件内容等。这个功能如果被恶意使用,可以利用存在缺陷的web应用作为代理攻击远程和本地服务器。
原理
服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。
大部分的web服务器架构中,web服务器自身都可以访问互联网和服务器所在的内网。
SSRF可以做什么
- 可以对外网服务器所在的内网、本地进行端口扫描,获取一些服务的banner信息 。
- 攻击运行在内网或者本地的应用程序。
- 对内网web应用进行指纹识别,通过访问默认文件实现 。
- 攻击内外网的web应用。sql注入、struct2、redis等。
- 利用file协议读取本地文件等。
SSRF漏洞挖掘
一. WEB功能上查找
由原理可以看出,SSRF是由于服务端获取其他服务器的相关信息的功能中形成的,因此我们大可以列举几种在web 应用中常见的从服务端获取其他服务器信息的的功能。
- 通过URL地址分享网页内容早期应用中 ,为了更好的用户体验,Web应用在分享功能中,通常会获取目标URL地址网页内容中标签或者<meta name=“description”content=“”/>标签中content的文本内容提供更好的用户体验。
- 转码服务
转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览
由于手机屏幕大小的关系,直接浏览网页内容的时候会造成许多不便,因此有些公司提供了转码功能,把网页内容通过相关手段转为适合手机屏幕浏览的样式。例如百度、腾讯、搜狗等公司都有提供在线转码服务。
在线翻译
在线翻译:通过 URL地址翻译对应文本的内容。提供此功能的百度、有道等。
有道翻译某处SSRF可通网易内网:
http://www.anquan.us/static/bugs/wooyun-2016-0198176.html图片加载与下载
图片加载与下载:通过 URL地址加载或下载图片
图片加载远程图片地址此功能用到的地方很多,但大多都是比较隐秘,比如在有些公司中的加载自家图片服务器上的图片用于展示。(此处可能会有人有疑问,为什么加载图片服务器上的图片也会有问题,直接使用img标签不就好了,没错是这样,但是开发者为了有更好的用户体验通常对图片做些微小调整例如加水印、压缩等,就必须要把图片下载到服务器的本地,所以就可能造成SSRF问题)。
二. 从URL关键字中寻找
- Share、wap、url、link、src、source、target、u、3g、display、sourceURL、imageURL、domain
三. 通用的SSRF实例
- Weblogic配置不当,天生ssrf漏洞
- Discuz x2.5/x3.0/x3.1/x3.2 ssrf漏洞
SSRF漏洞的验证
http://www.douban.com/***/service?image=http://www.baidu.com/img/bd_logo1.png
我们先验证,请求是否是服务器端发出的,可以右键图片,使用新窗口打开图片,如果浏览器上地址栏是http://www.baidu.com/img/bd_logo1.png,说明不存在SSRF漏洞。
可以在Firebug 或者burpsuite抓包工具,查看请求数据包中是否包含http://www.baidu.com/img/bd_logo1.png这个请求。由于SSRF是服务端发起的请求,因此在加载这张图片的时候本地浏览器中不应该存在图片的请求。
在验证完是由服务端发起的请求之后,此处就有可能存在SSRF,接下来需要验证此URL是否可以来请求对应的内网地址。首先我们要获取内网存在HTTP服务且存在favicon.ico文件地址,才能验证是否是SSRF。
此处找内网地址可以通过从漏洞平台中的历史漏洞寻找泄露的内网地址过滤绕过
@:
http://www.baidu.com@10.10.10.10与http?/10.10.10.10 请求是相同的
过滤绕过
IP地址转换成十进制:
127.0.0.1=2130706433
xip.io
xip.io127.0.0.1.xip.io -->127.0.0.1
www.127.0.0.1.xip.io -->127.0.0.1
Haha.127.0.0.1.xip.io -->127.0.0.1
Haha.xixi.127.0.0.1.xip.io -->127.0.0.1
修复方案
- 统一错误信息,避免用户可以根据错误信息来判断远程服务器端口状态
- 限制请求的端口为HTTP常用的端口,比如 80,443,8080,8088等
- 黑名单内网IP。
- 禁用不需要的协议,仅仅允许HTTP和HTTPS.
相关资源
- [安全科普]SSRF攻击实例解析
- 乌云多数已修复SSRF漏洞可被绕过
- 利用 Gopher 协议拓展攻击面
- SSRF libcurl protocol wrappers利用分析
Web安全之SSRF漏洞相关推荐
- 【愚公系列】2023年05月 Web渗透测试之SSRF漏洞分析与实践
文章目录 前言 一.SSRF简介 二.ssrf漏洞验证 三.通过dict协议获取服务器端口运行的服务 四.通过file协议访问计算机中的任意文件 五.sftp及tftp协议在SSRF中的作用 前言 S ...
- 【web渗透】SSRF漏洞超详细讲解
- web安全---SSRF漏洞
简介 SSRF:服务器请求伪造,是一种攻击者构造形成由服务端发起请求 的一个安全漏洞.一般情况下,SSRF攻击的目标是从外网无法访问的内部系统(正是因为它是由服务端发起的,所以它能够请求到与它相连而与 ...
- Web漏洞-SSRF漏洞(详细)
SSRF漏洞 介绍: SSRF(Server-Side Request Forgery):服务器端请求伪造,该漏洞通常由攻击者构造的请求传递给服务端,服务器端对传回的请求未作特殊处理直接执行而造成的. ...
- Web安全-SSRF漏洞
SSRF漏洞的简述 SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞. SSRF 形成的原因:大都是由于服务端 ...
- 【干货】web安全基础学习之SSRF漏洞
一.SSRF简介 SSRF(Server-Side Request Forgery),服务器端请求伪造,利用漏洞伪造服务器端发起请求,从而突破客户端获取不到数据限制. 二.SSRF的危害 ssrf漏洞 ...
- web渗透测试----15、SSRF漏洞(服务端请求伪造漏洞)
SSRF漏洞是一种在未能获取服务器权限时,利用服务器漏洞,由攻击者构造请求,服务器端发起请求的安全漏洞,攻击者可以利用该漏洞诱使服务器端应用程序向攻击者选择的任意域发出HTTP请求. 很多Web应用都 ...
- ue编辑器漏洞_【华中科技大学 - 漏洞预警】百度 UEditor web 编辑器 v1.4.3 等多个版本存在 SSRF 漏洞...
近日,互联网上公开了UEditor编辑器v1.4.3版本的SSRF漏洞信息及分析复现材料.该漏洞是Bool型的SSRF,除了可以进行内网探测外,也可以根据web应用指纹信息,进行进一步测试.目前,官方 ...
- 渗透知识-SSRF漏洞
SSRF漏洞攻击原理及防御方案 01 概念 服务端请求伪造(Server-Side Request Forgery),指的是攻击者在未能取得服务器所有权限时,利用服务器漏洞以服务器的身份发送一条构造好 ...
最新文章
- 使用Nginx搭建前端静态服务器+文件服务器
- 新书推荐:《追问人工智能:从剑桥到北京》
- 14岁初中生3天制成勒索病毒 制作方法或自学而成
- SQL For Xml
- java随机点名器的思路_Java实现简单的随机点名器
- Angular中使用JS实现路由跳转、动态路由传值、get方式传值
- phpstudy mysql端口_完美解决phpstudy安装后mysql无法启动(无需删除原数据库,无需更改任何配置,无需更改端口)直接共存...
- 黑马程序员-WEB前端与移动开发就业班
- python毕业设计总结范文大全_毕业设计心得体会范文【优秀】
- 黄聪:C#获取网页HTML内容的三种方式
- Java在W10_java——基础 在w10环境下如何配置java环境
- 使用阿里矢量图标库操作流程
- python身份证区域分割_python 身份证归属地解析
- Matlab画图线型、符号及颜色汇总
- JAVA HTML 转 PDF
- java 汽车类_汽车类 - java代码库 - 云代码
- 解决网页上不能直接复制文字的问题
- Android主线程耗时方法监控
- php框架laravel下载,laravel 5.4
- oracle ebs 安装教程,Oracle EBS 12 For Windows 的详细安装步骤