首页 > 其他分享 >CSRF攻击是什么

CSRF攻击是什么

时间:2023-01-25 19:44:11浏览次数:36  
标签:浏览器 请求 攻击 什么 用户 网站 token CSRF

CSRF攻击的过程原理是: - 用户打开浏览器,访问目标网站A,输入用户名和密码请求登录 - 用户信息在通过认证后,网站A产生一个cookie信息返回给浏览器,这个时候用户以可正常发送请求到网站A - 用户在没有退出网站A之前在同一个浏览器打开了另一个新网站B。

  • 新网站B收到用户请求之后返回一些攻击代码,并发出一个请求要求访问返回cookie的网站A - 浏览器收到这些攻击性代码之后根据新网站B的请求在用户不知道的情况下以用户的权限操作了cookie并向网站A服务器发起了合法的请求。

预防CSRF攻击主要有以下策略: - 使用验证码,在表单中添加一个随机的数字或者字母验证码,强制要求用户和应用进行直接的交互。 - HTTP中Referer字段,检查是不是从正确的域名访问过来,它记录了HTTP请求的来源地址。

  • 使用token验证,在HTTP请求头中添加token字段,并且在服务器端建立一个拦截器验证这个token,如果token不对,就拒绝这个请求。 加分回答 验证HTTP Referer字段的好处就是实施起来特别简单,普通的网站开发不需要特别担心CSRF漏洞,只需要在最后面设置一个拦截器来验证referer的值就可以了,不需要改变已有的代码逻辑,非常便捷。但是这个方法也不是万无一失的,虽然referer是浏览器提供的,但是不同的浏览器可能在referer的实现上或多或少有自身的漏洞,所以使用referer的安全保证是通过浏览器实现的。使用token验证的方法要比referer更安全一些,需要把token放在一个HTTP自定义的请求头部中,解决了使用get或者post传参的不便性。

1.概念:跨域请求伪造。2.原理:诱导用户跳转到新的页面,利用 服务器的验证漏洞 和 用户之前的登入状态,来模拟用户进行操作。3.防范:利用cookie的sameSize属性规定其他网站不能使用本网站的cookie。或者使用token验证,再去验证用户身份

CSRF被称为跨站请求伪造。 其通过诱导用户进入第三方网站。利用用户在被攻击网站已经获得的注册凭证,绕过后台的用户验证,冒充用户对第三方网站进行攻击。 避免方式:添加验证码、加入token

标签:浏览器,请求,攻击,什么,用户,网站,token,CSRF
From: https://www.cnblogs.com/jycom/p/17067200.html

相关文章

  • 说一说JS数据类型有哪些,区别是什么?
    Number、String、Boolean、BigInt、Symbol、Null、Undefined、Object、8种标准回答JS数据类型分为两类:一类是基本数据类型,也叫简单数据类型,包含7种类型,分别是Number、St......
  • Java什么情况下数据类型可以自动转换?什么情况下需要强制转换?
    在程序中,当把一种数据类型的值赋给另一种数据类型的变量时,需要进行数据类型转换。自动类型转换也叫隐式类型转换,指的是两种数据类型在转换的过程中不需要显式地进行声明。当......
  • 缓冲区溢出攻击
    首先为了方便观察汇编语句,需要在32位环境下进行操作,首先在Kali中安装相关编译应用:输入命令linux32进入32位linux环境,输入/bin/bash使用bash,使用exit退出linux32位环境......
  • 什么是闭包?
    目录引入闭包发现问题用汇编的来解释闭包引入闭包不知道什么是闭包,推荐去看看这个视频:【python技巧060】形象理解闭包,玩转闭包https://www.bilibili.com/video/BV1Vx......
  • RSA dp泄漏攻击
    dp泄漏攻击给n,e,dp,c\[\begin{array}{l}&&&&&&&&&&&&&\\dp\equivd(\bmod(p-1))\\\becausedp\cdote\equivd\cdote\equiv1(\bmod(p-1))\\\th......
  • 什么是大数据、人工智能?
     一、何为统计学?统计学:研究对象:统计学是通过数据认识客观现象,认识客观现象数量规律性的方法论科学。分类:数理统计、经济统计、金融统计、生物统计、政府......
  • MySQL中IN和ANY的区别是什么
    MySQL中IN和ANY用于比较两个表达式是否相等。IN用于检查一个值是否在一个列表中。语法为:valueIN(list)。例如:CopycodeSELECT*FROMordersWHEREcustomer_idIN(1,......
  • 不理解为什么输出是2
    提问:    这个else不是要和最近一个没有匹配的if配在一起吗,第一个if后面的值为false,难道还执行吗,不太懂。才开始学习,所以问问大家?解答: 把括号补充好你看看,第一个......
  • Matlab保存文件的时候闪退是什么原因?该怎么解决?
    提问: 点保存或者用快捷键都是点开之后突然闪退,就一直保存不了,不知道是什么原因,应该怎么解决这个问题。解答: 你在保存时有没有在电脑上打开其他的东西,我也是win1064位,......
  • 2年Java开发需要具备什么水平?
    1、**熟练掌握Java基础知识和计算机编程思维,**熟练使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的JavaAPI,包括I/O(NIO)、Socket、JDBC、XML、集合框架、多线......