生命在于学习——CSRF漏洞

一、描述

CSRF定义:跨站请求伪造,也被成为one-click attack或者session riding,通常缩写为CSRF,是一种挟制用户在当前已登录的web应用程序上执行非本意的操作的攻击方法。
简单的说,是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并执行一些操作(如发邮件,发消息,甚至财产操作如转账和购买商品)。由于浏览器曾经认证过,却不能保证请求本身是用户自愿发出的。
CSRF漏洞的成因就是网站的cookie在浏览器中不会过期,只要不关闭浏览器或者退出登录,那以后只要是访问这个网站,都会默认你已经登录的状态,而在这个期间,攻击者发送了构造好的csrf脚本或包含csrf脚本的链接,可能会执行一些用户不想做的功能(比如添加账号等)。这个操作不是用户真正想要执行的。

二、攻击原理

1、简介

用户打开浏览器,访问登录受信任的A网站,在用户信息通过验证后,服务器会返回一个cookie给浏览器,用户登录网站A成功,可以正常发送请求到网站A用户未退出网站A,在同一浏览器中,打开一个危险网站B网站B收到用户请求后,返回一些恶意代码,并发出请求要求访问网站A,浏览器收到这些恶意代码以后,在用户不知情的情况下,利用cookie信息,向网站A发送恶意请求,网站A会根据cookie信息以用户的权限去处理该请求,导致来自网站B的恶意代码被执行。
在这里插入图片描述
简单点说就是攻击者盗用了你的身份信息,以你的名义发送恶意请求,对服务器来说这个请求是你发起的,缺完成了攻击者所期望的一个操作。

2、举个场景

小黑想要修改大白在购物网站www.xx.com上填写的会员地址。在这里插入图片描述
但是大白又不会把自己xx网站的账号密码告诉小黑,所以小黑自己去www.xx.com上注册了一个账号,然后修改一下自己的个人信息,可以发现修改的请求是:
在这里插入图片描述
于是,他实施了这样一个操作,把这个链接伪装一下,在小白登录xxx网站后,欺骗他进行点击,小白点击这个链接后,个人信息就被修改了,小黑就完成了攻击目的。

3、成功关键点

在这里插入图片描述

三、漏洞危害

修改用户信息,修改密码,以你的名义发送邮件、发信息、盗取你的账号等。

四、攻击条件

1、用户已登录存在CSRF漏洞的网站
2、用户需要被诱导打开攻击者构造的恶意网站。

五、CSRF与XSS的区别

1、XSS

攻击者发现XSS漏洞→构造代码→发送给受害人→受害人打开→攻击者获取受害人的cookie→完成攻击

2、CSRF

攻击者发现CSRF漏洞→构造代码→发送给受害人→受害人打开→受害人执行代码→完成攻击

3、注意

CSRF是借用户的权限完成攻击,攻击者并没有拿到用户的权限,而XSS是直接盗取到了用户的权限,然后实施破坏。

六、漏洞检测

抓取正常请求的数据包,如果不存在token验证,去掉请求头中Referer字段再重新提交,如果服务器返回正常页面,基本可以确定存在CSRF漏洞。

七、CSRF(get)

这里使用pikachu靶场
进来首先要登录,不知道账号密码点一下提示,点击修改个人信息,抓包,得到请求包信息,参数通过get方式传输。
在这里插入图片描述

八、CSRF(post)

post型的,所有参数在请求体中提交,我们不能通过伪造URL的方式进行攻击,这里的攻击方式需要攻击者自己写个利用该漏洞的html文件,放在自己服务器上,并发给用户请求这个html文件的链接,当用户点击时,就会自动向存在CSRF的服务器提交POST请求,修改个人信息。

九、CSRF Token

CSRF的主要问题是敏感操作容易被伪造,我们可以加入Token让请求不容易被伪造。

十、防御措施

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值