浅谈SSRF漏洞

SSRF漏洞是如何产生的?php

SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造造成由服务端发起请求的一个安全漏洞。通常状况下,SSRF攻击的目标是从外网没法访问的内部系统。(正是由于它是由服务端发起的,因此它可以请求到与它相连而与外网隔离的内部系统html

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

 

可能上面的语言对于一些小白白来讲难以理解,下面是一些个人理解:api

html,php,asp,jsp 具备这些文件后缀的文件一般储存在web服务器(网站服务器)中,并且web服务器都具备独立ip浏览器

 

网站访问大体步骤:安全

用户在地址栏输入网址 --》 向目标网站发送请求 --》 目标网站接受请求并在服务器端验证请求是否合法,而后返回用户所须要的页面 --》用户接收页面并在浏览器中显示服务器

【此处的请求默认为www.xxx.com/a.php?image=(地址)】dom

那么产生SSRF漏洞的环节在哪里呢?目标网站接受请求后在服务器端验证请求是否合法jsp

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

例如:

www.xxx.com/a.php?image=http://www.abc.com/1.jpg

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

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

终极简析: 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)在页面源码中查找访问的资源地址 ,若是该资源地址类型为 http://www.xxx.com/a.php?image=(地址)的就可能存在SSRF漏洞

 

最后附带一张SSRF漏洞导图

 

 

 

 

 

 

部份内容摘自其余网站