首页 > 其他分享 >CSRF跨站请求伪造

CSRF跨站请求伪造

时间:2023-01-18 20:12:28浏览次数:32  
标签:XSS 跨站 攻击 漏洞 cookie CSRF 攻击者 伪造

CSRF跨站请求伪造

一、CSRF攻击原理概要

CSRF(Cross-Site Request Forgery)是指跨站请求伪造,通常缩写为CSRF或者是XSRF

也可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义进行某些非法操作。CSRF能够使用你的账户发送邮件,获取你的敏感信息,甚至盗走你的财产等

CSRF 与XSS 最大的区别就在于,CSRF并没有盗取cookie而是直接利用

1.CSRF攻击步骤

①目标用户登录受信任网站A,并在本地生成Cookie

②目标用户在不登出A的情况下,访问恶意网站B,或者恶意链接URL,其目的就是想让目标用户在他自己的电脑上执行恶意代码

1

2.CSRF与XSS的区别

XSS:攻击者发现XSS漏洞——构造(获取cookie的)代码——发送给受害人——受害人打开——攻击
者获取受害人的cookie——黑客使用cookie伪造身份进行攻击——完成攻击

攻击者需要登录后台完成攻击

CSRF:攻击者发现CSRF漏洞——构造(发起攻击的)代码——发送给受害人——受害人打开——受
害人执行代码——完成攻击

攻击是管理员(目标用户或受害者)自己实现的,攻击者只负责了构造代码

CSRF少了获取cookie的步骤,为什么会少了呢。因为受害人在执行恶意代码的
时候就已经完成了攻击,而攻击者并没有参与进来

所以,XSS更像是偷钥匙,而CSRF则是趁你自己开门的时候偷偷溜进屋

注:CSRF最关键的是利用受害者的cookie向服务器发送伪造请求,所以如果受害者之前用Chrome浏览器登录的这个系统,而用搜狗浏览器点击这个链接,攻击是不会触发的,因为搜狗浏览器并不能利用Chrome浏览器的cookie,所以会自动跳转到登录界面

二、CSRF漏洞的分类

1.get型

这种类型的CSRF一般是由于程序员安全意识不强造成的。GET类型的CSRF利用非常简单,只需要一个HTTP请求,所以,一般会这样利用:<img src=http://漏洞地址>

在访问含有这个img的页面后,成功向http://漏洞地址,发出了一次HTTP请求。所以,
如果将该网址替换为存在GET型CSRF的地址,就能完成攻击了

2.post型

这种类型的CSRF危害没有GET型的大,利用起来通常使用的是一个自动提交的表单,如:

<form action=http://漏洞地址 method=POST>
<input type="text" name="xx" value="11" >
</form>
<script> document.forms[0].submit(); </script>

访问该页面后,表单会自动提交,相当于模拟用户完成了一次POST操作

三、常见的CSRF方式

1. <img>标签属性

<img src=“http://漏洞地址”>

2.<script>标签属性

<script src=“http://漏洞地址”>

3.<iframe>标签属性

<iframe src=“http://漏洞地址”>

4.JavaScript方法

Image对象

<script>
var foo = new Image();
foo.src = “http://漏洞地址
</script>

四、CSRF漏洞防御

1.增加 增加Token验证(常用做法)

对关键操作增加Token参数,token必须随机,每次都不一样

2.关于安全的会话管理(避免会话被利用)

不要在客户端保存敏感信息(比如身份验证信息)
退出、关闭浏览器时的会话过期机制
设置会话过机制,比如15分钟无操作,则自动登录超时

3.访问控制安全管理

敏感信息的修改时需要身份进行二次认证,比如修改账号密码,需要判断旧密码
敏感信息的修改使用POST,而不是GET
通过HTTP头部中的REFERER来限制原页面

4.增加验证码

一般在登录(防暴力破解),也可以用在其他重要信息操作的表单中(需要考虑可用性)

标签:XSS,跨站,攻击,漏洞,cookie,CSRF,攻击者,伪造
From: https://www.cnblogs.com/vinslow/p/17060485.html

相关文章

  • CSRF
    1.CSRF(Crosssiterequestforgery)跨站请求伪造,也被称为"OneClickAttack"或者SessionRiding通过伪造用户请求访问受信任站点的非法请求访问。跨域:只要网络协议,ip......
  • CSRF及SSRF漏洞案例
    CSRF漏洞:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,......
  • XSS跨站原理
    XSS跨站漏洞(会被浏览器内核版本限制)(限制条件太多)本质:在变量接收数据时,数据可以写成JS脚本,可以被执行和显示。产生层面:前端函数类:输出类函数——————XSS跨站漏洞分类反......
  • portswigger 靶场之 CSRF 篇
    Cross-siterequestforgery(CSRF)Alllabs|WebSecurityAcademy(portswigger.net)1.没有防御措施的CSRF漏洞题目中已告知易受攻击的是电子邮件的更改功能,而......
  • XSS跨站脚本漏洞
    XSS跨站脚本漏洞一、XSS跨站脚本概念1.攻击目标动态网页的邮件、留言板、论坛、搜索栏等(直接攻击客户端浏览器)2.xss的危害①网络钓鱼,包括盗取各类用户账号②窃取用......
  • csrf相关知识、auth认证模块、扩展auth_user表
    csrf相关知识、auth认证模块、扩展auth_user表目录csrf相关知识、auth认证模块、扩展auth_user表csrf跨站请求伪造csrf攻击原理图解csrf校验策略csrf相关装饰器auth认证模......
  • DVWA靶场实战(三)——CSRF
    DVWA靶场实战(三)三、CSRF:1.漏洞原理:CSRF(Cross-siterequestforgery),中文名叫做“跨站请求伪造”,也被称作“oneclickattack/sessionriding”,缩写为“CSRF/XSRF”......
  • Django框架:13、csrf跨站请求伪造、auth认证模块及相关用法
    Django框架目录Django框架一、csrf跨站请求伪造1、简介2、csrf校验策略form表单csrf策略ajax请求csrf策略3、csrf相关装饰器FBV添加装饰器方式CBV添加装饰器方式二、aut......
  • csrf跨网站请求操作 auth表相关操作
    今日内容详细csrf跨站请求伪造#前戏 钓鱼网站:模仿一个正规的网站让用户再该网站上做操作但是操作结果会会影响用户正常的网站用户''' 在代码处做一些小操作就可......
  • csrf跨站请求CBV添加装饰器的多种方式
    今日内容概要csrf跨站请求伪造csrf相关校验策略CBV添加装饰器的多种方式auth认证模块BBS项目需求分析今日内容详细csrf跨站请求伪造钓鱼网站:模仿一个正规的......