csrf防范笔记

炎泽 炎泽     2022-10-05     147

关键词:

1.验证Http的refer字段

http有一个refer字段,用以记录该http请求的来源地址

好处: 简单便捷,后台开发人员只需要设置一个拦截器

缺点: Referer 的值是由浏览器提供的,虽然 HTTP 协议上有明确的要求,但是每个浏览器对于 Referer 的具体实现可能有差别。比如 IE6 或 FF2,目前已经有一些方法可以篡改 Referer 值,同时,用户也可以自己设置浏览器使其在发送请求时不再提供 Referer

 

2.在请求地址中添加token

防范的关键在于在请求中放入黑客所不能伪造的信息,并且该信息不存在于 cookie 之中。可以在 HTTP 请求中以参数的形式加入一个随机产生的 token,并在服务器端建立一个拦截器来验证这个 token,如果请求中没有 token 或者 token 内容不正确,则认为可能是 CSRF 攻击而拒绝该请求。

实现: 服务端: token 可以在用户登陆后产生并放于 session 之中,然后在每次请求时把 token 从 session 中拿出,与请求中的 token 进行比对。

客户端: 对于 GET 请求,token 将附在请求地址之后,这样 URL 就变成 http://url?csrftoken=tokenvalue。 而对于 POST 请求来说,要在 form 的最后加上 <input type=”hidden” name=”csrftoken” value=”tokenvalue”/>,这样就把 token 以参数的形式加入请求了。

在一个网站中,可以接受请求的地方非常多,要对于每一个请求都加上 token 是很麻烦的,并且很容易漏掉,通常使用的方法就是在每次页面加载时,使用 javascript 遍历整个 dom 树,对于 dom 中所有的 a 和 form 标签后加入 token

好处: 比refer安全一些

缺点:是难以保证 token 本身的安全。特别是在一些论坛之类支持用户自己发表内容的网站,黑客可以在上面发布自己个人网站的地址。由于系统也会在这个地址后面加上 token,黑客可以在自己的网站上得到这个 token,并马上就可以发动 CSRF 攻击。为了避免这一点,系统可以在添加 token 的时候增加一个判断,如果这个链接是链到自己本站的,就在后面添加 token,如果是通向外网则不加

 

3.在http请求中加入自定义属性

也是使用token,但不是把它放在dom内,而是http请求中。通过 XMLHttpRequest 这个类,可以一次性给所有该类请求加上 csrfToken 这个 HTTP 头属性,并把 token 值放入其中。

 

csrf的攻击与防范

CSRF是什么?Cross-siterequestforgery跨站请求伪造,也被称为“oneclickattack”或者sessionriding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。CSRF攻击类似XSS攻击,都是在... 查看详情

csrf攻击与防范

CSRF(CrossSiteRequestForgeries)跨网站请求伪造,也叫XSRF,通过伪装来自受信任用户的请求来攻击利用受信任网站。与对比xss:本网站运行了来自其它网站的脚本csrf:其它网站对本网站产生了影响一、攻击利用用户登录态伪造http请求... 查看详情

JSF中的CSRF、XSS和SQL注入攻击防范

】JSF中的CSRF、XSS和SQL注入攻击防范【英文标题】:CSRF,XSSandSQLInjectionattackpreventioninJSF【发布时间】:2011-12-0501:10:19【问题描述】:我有一个基于JSF的Web应用程序,使用MySQL作为数据库。我已经在我的应用程序中实现了防止CSRF的代... 查看详情

有效防范csrf攻击的手段都有哪些?

...为大家介绍过SSRF攻击、XSS攻击以及SQL注入攻击的原理及防范手段,本篇文章我将为大家介绍一下CSRF攻击-跨站请求伪造。那么CSRF攻击是什么?防范手段有哪些?具体内容请看下文。  CSRF攻击是什么?  CSRF,全拼为Cross-siterequestf... 查看详情

csrf攻击防范小知识(代码片段)

一、背景CSRF是一种常见的跨站伪造请求攻击,它通过伪造真实用户的请求,来欺骗服务器以实现非法操作的目的。相比于xss攻击,它无法读取到用户的cookie等隐私信息,但可以在规则之内做一些用户未感知的危险操作。 二... 查看详情

csrf攻击及防范(代码片段)

CSRF攻击及防范1什么是CSRF2CSRF攻击过程3CSRF类型3.1按照请求类型分类3.1.1GET型3.1.2POST型3.2按照攻击方式分类3.2.1HTMLCSRF攻击3.2.2JSONHijacking攻击3.2.3FlashCSRF攻击4CSRF危害5如何防御CSRF5.1阻止不明外域的访问5.2token1什么是CSRFCSRF是跨站请求... 查看详情

如何避免csrf攻击?

...。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。在实际项目中有一下方法可以防止那:1:利用token验证方式,将token放在放在session中或者放在请求体的ha... 查看详情

教你轻松解决csrf跨站请求伪造攻击

...S攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范&#x 查看详情

初探csrf学习笔记

以下是今天学习了一天对CSRF的理解,大家切勿作为标准,如有出错请告之!严禁转载.不想拿自己刚学到的知识去【误人子弟】之所以写出来是让自己巩固和增加理解,他日对此文有不当之处自会修改。[+]csrf是什么?  [-]CSRF... 查看详情

xss与csrf有啥区别吗?

...证码的方法。by三人行慕课参考技术ACSRF攻击基本概念及防范方法一、基本概念CSRF,英文全称Cross-siterequestforgery,跨站请求伪造。也被称为“OneClickAttack”或者“SessionRiding”,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。... 查看详情

安全牛学习笔记csrf

╋━━━━━━━━━━━━━━━━━━━━━━━╋┃CSRF                     ┃┃Cross-siterequestforgery    查看详情

学习笔记之csrf初级篇

什么是CSRFCSRF(Cross-siterequestforgery跨站请求伪造,也被称为“oneclickattack”或者sessionriding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用... 查看详情

学习笔记之csrf初级篇

什么是CSRFCSRF(Cross-siterequestforgery跨站请求伪造,也被称为“oneclickattack”或者sessionriding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用... 查看详情

学习笔记之csrf初级篇

什么是CSRFCSRF(Cross-siterequestforgery跨站请求伪造,也被称为“oneclickattack”或者sessionriding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用... 查看详情

学习笔记之csrf初级篇

什么是CSRFCSRF(Cross-siterequestforgery跨站请求伪造,也被称为“oneclickattack”或者sessionriding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用... 查看详情

学习笔记之csrf初级篇

什么是CSRFCSRF(Cross-siterequestforgery跨站请求伪造,也被称为“oneclickattack”或者sessionriding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用... 查看详情

学习笔记之csrf初级篇

什么是CSRFCSRF(Cross-siterequestforgery跨站请求伪造,也被称为“oneclickattack”或者sessionriding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用... 查看详情

synflood了解和简单防范笔记!

一:什么是CentOSSYNFlood攻击?CentOSSYNFlood攻击利用的是IPv4中TCP协议的三次握手(Three-WayHandshake)过程进行的攻击。这个协议规定,如果一端想向另一端发起TCP连接,它需要首先发送TCPSYN(synchronize)包到对方。对方收到后发送一个TCP... 查看详情