Web安全-SSRF漏洞

概述

SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。

SSRF 形成的原因:大都是由于服务端提供了从其他服务器应用获取数据的功能,且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,文档,等等。

也就是说,对于为服务器提供服务的其他应用没有对访问进行限制,如果我构造好我的访问包,那我就有可能利用目标服务对他的其他服务器应用进行调用。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)。

入门引例

上面的话可能有点抽象,来举个实际例子。首先,我们要对目标网站的架构了解,脑子了要有一个架构图。

比如 : A网站,是一个所有人都可以访问的外网网站,B网站是一个他们内部的OA网站。显然,我们普通用户只可以访问A网站,不能访问B网站。但是我们可以同过A网站做中间人,访问B网站,从而达到攻击B网站需求。

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

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

【此处假设该网站有个请求是www.baidu,com/xxx.php?image=URL】

那么产生SSRF漏洞的环节在哪里呢?

SSRF漏洞产生的原因:服务器端的验证并没有对其请求获取图片的参数(image=)做出严格的过滤以及限制,导致A网站可以从其他服务器的获取数据。

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

如果我们将 www.abd.com/1.jpg 换为与该服务器相连的内网服务器地址会产生什么效果呢?如果存在该内网地址就会返回1xx 2xx 之类的状态码,不存在就会其他的状态码。

【终极简析】: SSRF漏洞就是通过篡改获取资源的请求发送给服务器,但是服务器并没有检测这个请求是否合法的,然后服务器以他的身份来访问其他服务器的资源。

猜你喜欢

转载自blog.csdn.net/weixin_39190897/article/details/88226410