zoukankan      html  css  js  c++  java
  • CSRF攻击

    1.什么是CSRF攻击
    CSRF(Cross-site request forgery),跨站请求伪造。
    CSRF攻击的原理如下:
    1)用户登录正常的网站A后,在本地生成Cookie
    2)在不登出A的情况下,访问了危险网站B
    3)网站B中含有网站A的链接,点击网站A的链接,会调用本地cookie验证,自动登录网站A。

    CSRF攻击源于WEB的隐式身份验证机制,WEB的身份验证机制虽然可以保证一个请求是来自于某个用户的浏览器,但却无法保证该请求是用户批准发送的。

    2.原理图如下:

    3.CSRF的防御
    1)Cookie Hashing(所有表单都包含同一个伪随机值):
    CSRF的问题在于网站验证cookie存在的情况下,黑客可以直接登录网站。
    我们可以在访问网站时,服务端生成一个伪随机数,访问网站每个页面时带上这个伪随机数,服务端验证cookie和伪随机数是否一致。
    这样可以确保网站A的链接不是由第三方网站直接跳转过来的,因为第三方网站是无法获得网站的cookie伪随机数的。

    2)验证码
    登录网站时设置验证码,是很常用的方式,可以完全解决CSRF的问题。

  • 相关阅读:
    读写锁
    MySQL事务处理和锁机制
    SQL注入攻击
    数据库三范式
    Slave延迟很大的优化方法总结(MySQL优化)
    MySQL主从复制的原理及配置
    消息总线的应用场景
    Java NIO通信框架在电信领域的实践
    逃逸分析
    BOM
  • 原文地址:https://www.cnblogs.com/shijingjing07/p/6236036.html
Copyright © 2011-2022 走看看