浅谈SSRF漏洞

SSRF漏洞是如何产生的?php

SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造造成由服务端发起请求的一个安全漏洞。通常状况下,SSRF是要目标网站的内部系统。(由于他是从内部系统访问的,全部能够经过它攻击外网没法访问的内部系统,也就是把目标网站当中间人api

SSRF 造成的缘由大都是因为服务端提供了从其余服务器应用获取数据的功能,且没有对目标地址作过滤与限制。好比从指定URL地址获取网页文本内容,加载指定地址的图片,文档,等等。安全

 上面的话说的有点抽象,而后说一下个人理解(可能有理解错误的地方,但愿大佬能留言告知一下)服务器

 首先,咱们要对目标网站的架构了解,脑子了要有一个架构图。好比 : A网站,是一个全部人均可以访问的外网网站,B网站是一个他们内部的OA网站。架构

因此,咱们普通用户只能够访问a网站,不能访问b网站。可是咱们能够同过a网站作中间人,访问b网站,从而达到攻击b网站需求。dom

 

正经常使用户访问网站的流程是:ide

输入A网站URL --> 发送请求 --> A服务器接受请求(没有过滤),并处理 -->返回用户响应网站

【那网站有个请求是www.baidu,com/xxx.php?image=URL】url

那么产生SSRF漏洞的环节在哪里呢?安全的网站应接收请求后,检测请求的合法性spa

产生的缘由:服务器端的验证并无对其请求获取图片的参数(image=)作出严格的过滤以及限制,致使A网站能够从其余服务器的获取数据

例如:

www.baidu.com/xxx.php?image=www.abc.com/1.jpg

若是咱们将www.abd.com/1.jpg换为与该服务器相连的内网服务器地址会产生什么效果呢?

若是存在该内网地址就会返回1xx 2xx 之类的状态码,不存在就会其余的状态码

终极简析: SSRF漏洞就是经过篡改获取资源的请求发送给服务器,可是服务器并无检测这个请求是否合法的,而后服务器以他的身份来访问其余服务器的资源

 

SSRF漏洞的寻找(漏洞常见出没位置):

注:我的以为全部调外部资源的参数都有可能存在ssrf漏洞

1)分享:经过URL地址分享网页内容

2)转码服务

3)在线翻译

4)图片加载与下载:经过URL地址加载或下载图片

5)图片、文章收藏功能

6)未公开的api实现以及其余调用URL的功能

7)从URL关键字中寻找

  
share
wap
url
link
src
source
target
u
3g
display
sourceURl
imageURL
domain
...

SSRF漏洞的验证方法:

1)由于SSRF漏洞是让服务器发送请求的安全漏洞,因此咱们就能够经过抓包分析发送的请求是不是由服务器的发送的,从而来判断是否存在SSRF漏洞

2)在页面源码中查找访问的资源地址 ,若是该资源地址类型为 www.baidu.com/xxx.php?image=(地址)的就可能存在SSRF漏洞

相关文章
相关标签/搜索