CSRF和SSRF的区别是什么

本篇内容主要讲解“CSRF和SSRF的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSRF和SSRF的区别是什么”吧!

简述CSRF、SSRF的区别

在下进入网络安全行业不久,目前对Web漏洞可谓是一知半解似懂非懂。正巧公司下午进行考核,对在下来说颇有种赶鸭子上架的体验。其中有这样一道试题:

请简述CSRF、SSRF与会话重放的区别

说实话,上述三种漏洞,我也接触过不少了,但被这么一问,却仿佛三九天坠入了冰窟一般,一下就懵了。

考试结束后,在下赶紧查阅了相关的资料,才发现其中的学问比我要想像的深奥许多。那就撸起袖子学学呗,学以致用,在下将所学融会贯通,完成了这篇文章。这里,会话重放暂且不提,在下总结了一下CSRF与SSRF的概念与区别。

CSRF:

CSRF,本名为Cross-site requestforgery,也就是跨站请求伪造。

说到CSRF,不得不提一下XSS。CSRF看起来好像和XSS跨站脚本攻击有着“不得不说的秘密”,实则却是两个不同维度的情况。从名字上来看,同为跨站攻击,XSS攻击是跨站脚本攻击,CSRF攻击是请求伪造,也就是CSRF攻击本不是出自用户之手,却经过第三方恶意攻击者的处理,伪装成了受信任用户的“亲历亲为”。

我们所能见到的大部分网站,都是通过cookie等方式记录、分辨出受信任用户的身份,再予以授权的。所以要伪造用户的正常操作,最好的方法是通过XSS或链接引导等途径,让用户在本机发起自己所不知道的危险请求,使得恶意攻击有机可乘,获取用户cookie等信息,以达到身份伪装目的。看到这里不知您是否有所明白,XSS是实现CSRF的诸多途径中的一条,但并不是唯一的一条。

我们平日里做的web漏洞挖掘,一般都是在用户修改密码界面验证CSRF漏洞,因为这是最能体现该漏洞危害的地方之一。就如前文所说,XSS可以在用户不知情的情况下,引导用户点击恶意链接修改用户密码。

CSRF和SSRF的区别是什么

图源:百度百科CSRF词条

SSRF:

SSRF,也就是Server Side RequestForgery---服务器端请求伪造。从字面上来看,与CSRF不同的是,它是服务器端发出的请求伪造而非从用户一端提交。别误会,作为受信任用户,服务器当然不可能做出损害用户信息的事。它是一种由攻击者构造形成,由服务端发起请求的一个安全漏洞。因为它是由服务端发起的,所以它能够请求到与它相连但与外网隔离的内部系统。由于服务端提供了从其他服务器应用获取数据的功能(例如分享等功能)且没有对目标地址做过滤与限制,给予了攻击者乘虚而入的机会。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。SSRF是利用存在缺陷的web应用作为代理攻击远程和本地的服务器。

我们来举个例子说,如何查询自己的外网IP?最简单的可能就是百度搜索框中输入“IP”进行查询。    

CSRF和SSRF的区别是什么

图中111.113.*.83,这是我的原IP,如果我用其他服务器载入这个网页的话,比如用某翻译的浏览器插件翻译当前页面:    

CSRF和SSRF的区别是什么

可以看到我的IP变成了61.135.217.12,地址也换了,这就是SSRF漏洞。图中的结果并不是翻译插件直接翻译网页内容,而是用该插件的服务器加载了此页面。虽然服务器并不是恶意,但我们所收到的信息还是出现了偏差。

总的来说,CSRF是服务器端没有对用户提交的数据进行严格的把控,导致攻击者可以利用用户的Cookie信息伪造用户请求发送至服务器。而SSRF是服务器对用户提供的可控URL地址过于信任,没有经过严格检测,导致攻击者可以以此为跳板攻击内网或其他服务器。

到此,相信大家对“CSRF和SSRF的区别是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。