美文网首页
CSRF攻击浅析

CSRF攻击浅析

作者: gtx7970 | 来源:发表于2018-01-04 14:26 被阅读0次

简介

Cross-site request forgery(跨站请求伪造)

wikipedia:
是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法

过程

  1. 用户登陆一个网站a,本地生成cookie
  2. 在未退出a的情况下,访问b网站。


    CSRF攻击流程

HTTP Cookie:
当服务器收到HTTP请求时,可以在响应头中增加一个Set-Cookie头部。浏览器收到响应后通常会保存Cookie,之后对该服务器每一次请求中都通过Cookie请求头部将Cookie信息发送给服务器。
会话状态管理(如用户登录状态、购物车、游戏分数和其它需要记录的信息)
个性化设置(如用户自定义设置、主题等)
浏览器行为跟踪(如跟踪分析用户行为)

例子

假如一家银行用以执行转账操作的URL地址如下: http://www.examplebank.com/withdraw?account=AccoutName&amount=1000&for=PayeeName

那么,一个恶意攻击者可以在另一个网站上放置如下代码: <img src="http://www.examplebank.com/withdraw?account=Alice&amount=1000&for=Badman">

如果有账户名为Alice的用户访问了恶意站点,而她之前刚访问过银行不久,登录信息尚未过期,那么她就会损失1000资金。

防范

  1. 检查Referer字段
    HTTP头中有一个Referer字段,这个字段用以标明请求来源于哪个地址。在处理敏感数据请求时,通常来说,Referer字段应和请求的地址位于同一域名下。以上文银行操作为例,Referer字段地址通常应该是转账按钮所在的网页地址,应该也位于www.examplebank.com之下。而如果是CSRF攻击传来的请求,Referer字段会是包含恶意网址的地址,不会位于www.examplebank.com之下,这时候服务器就能识别出恶意的访问。
  2. 在请求地址中添加 token 并验证.
    1. 服务端在收到路由请求时,生成一个随机数,在渲染请求页面时把随机数埋入页面(form表单中 <input type="hidden" name="_csrf_token" value="xxx" )
    2. 服务端设置setCookie,把该随机数作为cookie或者session返回用户浏览器
    3. 当用户发送 GET 或者 POST 请求时带上参数
    4. 后台在接受到请求后解析请求的cookie获取参数的值,然后和用户请求提交的_csrf_token做个比较,如果相等表示请求合法。

相关文章

  • CSRF攻击浅析

    简介 Cross-site request forgery(跨站请求伪造) wikipedia:是一种挟制用户在当...

  • 9.1 CSRF攻击

    CSRF攻击: CSRF攻击概述: CSRF(Cross Site Request Forgery, 跨站域请求伪...

  • 最浅显易懂的Django系列教程(41)-CSRF攻击

    CSRF攻击: CSRF攻击概述: CSRF(Cross Site Request Forgery, 跨站域请求伪...

  • 什么是CSRF攻击

    本文分享CSRF是什么与如何防范CSRF攻击 CSRF攻击是什么? CSRF(Cross-site request...

  • CSRF攻击

    除了XSS攻击外,还有一种叫CSRF的攻击不容小视。 什么是CSRF攻击呢? CSRF攻击又称跨站请求伪造,攻击者...

  • 网络安全系列(3) CSRF攻击

    1.CSRF概述 1.2 CSRF 攻击实例 1.3 CSRF 攻击的对象 2.当前防御 CSRF 的几种策略 2...

  • Laravel - CSRF 攻击与防御

    CSRF攻击与防御-start 什么是CSRF攻击?CSRF是跨站请求伪造(Cross-site request ...

  • 2020-06-09--flask05--flask基础05

    登录+转账demo csrf演示 防止csrf攻击策略 flask解决csrf攻击 登录+转账demo 新建web...

  • CSRF攻击防御

    CSRF 攻击的应对之道web安全之token和CSRF攻击CSRF Token 的设计是否有其必要性? CSRF...

  • laravel的CSRF防护机制和延伸

    在说laravel框架里对CSRF的攻击防护之前先对XSS和CSRF攻击做一下简单的介绍。 XSS和CSRF攻击 ...

网友评论

      本文标题:CSRF攻击浅析

      本文链接:https://www.haomeiwen.com/subject/burknxtx.html