暂无 |

12. 什么是 CSRF, 怎么造成的, 有什么防御方法?

A
B
C
D
答案:

CSRF 概念:CSRF 跨站点请求伪造(Cross—Site Request Forgery),跟 XSS 攻击一样,存在巨大的危害性,你可以这样来理解: 攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。 如下:其中 Web A 为存在 CSRF 漏洞的网站,Web B 为攻击者构建的恶意网站,User C 为 Web A 网站的合法用户。

CSRF 攻击攻击原理及过程如下:

   1. 用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;

   2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;

   3. 用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B;

   4. 网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A;


   5. 浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息,向网站A发出请求。网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行。

防御 CSRF 攻击:

   目前防御 CSRF 攻击主要有三种策略:验证 HTTP Referer 字段;在请求地址中添加 token 并验证;在 HTTP 头中自定义属性并验证。

解析:

CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者 Session Riding,通常缩写为 CSRF 或者 XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与 XSS 非常不同,XSS 利用站点内的信任用户,而 CSRF 则通过伪装来自受信任用户的请求来利用受信任的网站。与 XSS 攻击相比,CSRF 攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比 XSS 更具危险性。

特点

  • 依靠用户标识危害网站
  • 利用网站对用户标识的信任
  • 欺骗用户的浏览器发送 HTTP 请求给目标站点
  • 另外可以通过 IMG 标签会触发一个 GET 请求,可以利用它来实现 CSRF 攻击。

防御

  • 通过 referer、token 或者验证码来检测用户提交。
  • 尽量不要在页面的链接中暴露用户隐私信息。
  • 对于用户修改删除等操作最好都使用 post 操作 。
  • 避免全站通用的 cookie,严格设置 cookie 的域。
解释:
网络

发表评论

    评价:
    验证码: 点击我更换图片
    最新评论