zoukankan      html  css  js  c++  java
  • 信息安全学习笔记--CSRF

     

    一、CSRF简介

     

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

    二、CSRF原理

      下面用一个例子来演示一下CSRF的原理

      比如一个搜狐博客的用户登录之后浏览一些博客,攻击者构造了一个自己的网页如:

        http://www.a.com/csrf.html

      内容为

        <img src=”http://blog.sohu.com/manage/entry.do?m=delete&id=123” />

      使用了一个<img>标签,其地址指向了伤处博客文章的连接。

      攻击者诱使用户访问这个网页,用户看到一张无法显示的图片,当回过头来再次看搜狐博客的内容时,已经被删除。

      这就是一次简单的CSRF。

      同样的,攻击者也能会诱使用户填写自己的个人信息,比如银行卡号密码,支付宝账号密码之类的,最后造成用户的财产遭受损失。

     

    三、CSRF防御

     

      1.验证码

      验证码被认为是对抗CSRF攻击最简洁有效的防御方法。

      2.Referer Check

      Referer Check可用于检查请求是否来自合法的“源”,常见的互联网应用中,页面与页面之间都有一定的逻辑关系,这就使得每个正常的Referer具有一定的规律。根据这个规律可以判断页面的跳转是否合法。

      3Anti CSRF Token

      业界针对CSRF的防御,一致的做法是使用一个Token。

    原创作者 @龙刃(JDragons) 转载请注明出处 如有任何疑问请联系:JDragons@yeah.net
  • 相关阅读:
    日期插件,年月,年月日,时分,年月时分
    <context:annotation-config/>
    Autowired注解
    context:component-scan 注解的扫描
    Servlet 是什么 有哪些类
    spring RestTemplate 出现 NoHttpResponseException 和 ConnectionTimeoutException
    java 动态加载groovy 脚本
    java 如何实现文件变动的监听
    英文文档地址
    Resource ResourceLoader
  • 原文地址:https://www.cnblogs.com/JDragons/p/4386743.html
Copyright © 2011-2022 走看看