CSRF漏洞攻击原理(基础)

本文详细介绍了CSRF的概念,区分于XSS,强调了攻击者冒充用户发送恶意请求的过程。文章还讨论了GET和POST类型的CSRF实例,并提供了防范CSRF的措施,如验证码、请求参数验证和HTTP头安全实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、定义

Cross-Site Request Forgery跨站请求伪造

1.跨站点的请求

2.请求是伪造的(假装可信)

尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装成受信任用户请求受信任的网站。

你可以这么来理解:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等

正常的csrf攻击,基于增删改等操作(基于操作的csrf)

二、csrf分类

1、GET类型的csrf

仅仅只需要一个HTTP请求,就能够构建一次简单的csrf。

2、POST类型的csrf

对于攻击者来说,若干种方法可以构造出一个POST请求。最简单的方法,就是在一个页面中构造好一个表单表单,然后使用JavaScript自动提交这个表单。

提醒:如果抓取一个正常请求的数据包,没有referer字段和token,就很有可能存在csrf漏洞。

三、如何防御csrf

1、验证码

2、在请求地址添加taken并验证

3、在HTTP头中自定义属性并验证

4、验证HTTP referer字段

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值