vlambda博客
学习文章列表

安全测试基础之CSRF

点击上面蓝字,收阅 软件测试与质量

CSRF也是WEB安全测试工作中常见的一种漏洞,今天就来介绍一下。


01

什么是CSRF
CSRF(Cross-site request forgery),中文名称:跨站请求伪造,是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。

02

CSRF能够做什么
攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并运行一些操作(如发邮件,发消息,甚至财产操作如转账和购买商品)。由于浏览器曾经认证过,所以被访问的网站会认为是真正的用户操作而去运行。这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。

03

与XSS对比
跟跨网站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。
XSS利用漏洞影响站点内的用户,攻击目标是同一站点内的用户者;
而CSRF 通过伪装成受害用户发送恶意请求来影响Web系统中受害用户的利益。
CSRF往往不太流行和难以防范,对其进行防范的资源也相当稀少,所以它被认为比XSS更具危险性。

04

CSRF原理

第一步,用户C打开浏览器,输入账号和密码请求登录受信任网站A;
第二步,用户信息通过验证后,网站A将产生的Cookie信息返回给浏览器,用户便成功登录网站A;
第三步,用户在登录网站A的同时,在同一浏览器中访问网站B;
第四步,网站B接收到用户登录请求后,返回的不是Cookie信息,而是一些攻击性代码,同时发出请求要求访问第三方站点A;
第五步,浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下向网站A发出访问请求,并执行网站B的恶意代码。
跨站请求伪造在受害者是毫不知情的情况下,以受害者名义伪造请求并发送给受攻击的站点,这样就能以受害者的身份和权限执行一些特殊敏感的操作。

注:以上内容搜集整理来源于互联网。



觉得好看,请点这里↓