Web安全—CSRF漏洞利用
前言:此篇文章主要记录pikachu靶场漏洞中三种模式的CSRF漏洞的利用,此处不对基本原理进行过多赘述,基础可参考文章:Web安全—跨站请求伪造攻击(CSRF)
漏洞利用场景:攻击者伪造一个正常的请求(通常是一个链接),诱导用户点击,从而在受害者不知情的情况下以受害者的身份去修改用户已经登陆的网站信息。
一:CSRF(GET)用户通过表单提交的数据显示在URL中
1,用户使用账户登录网站,本地生成cookie等身份认证信息
2,黑客登陆网站,抓取网站修改功能的数据包参数
3,通过步骤2抓取的数据包将内容修改成自己想要的,然后构造成poc链接,这里我们可以使用BurpSuite工具自带的CSRF POC功能
POC内容:sex=girl和phonenum=120120120
4,诱导用户点击构造的poc链接
5,此时用户的信息已经被修改成了黑客想要的内容了,性别变为girl,电话更改为120120120,黑客的目的达到
总结:黑客利用CSRF利用成功的原因主要是:
1,用户登陆网页后,未退出网站下本地保存了网站认证信息Cookie
2,点击了不可信的链接
3,网站对修改或更改敏感信息的操作未做相关验证
二:CSRF(POST)用户通过表单提交的数据显示在请求主体中
POST类型的CSRF和GET类型的CSRF区别就在于请求的数据正文位置不同,其复现和利用方法思路一样,这里就不做过多赘述。
三:CSRF(Token)用户通过表单提交的数据中夹带服务端用户验证的信息
Token:可理解为认证信息,具体可参考文章:Web安全—CSRF(Token)
此时我们使用GET和POST的方法去利用加了认证信息Token的请求,发现利用失败,这里主要的原因是服务端会对客户端发送过来的Token值进行验证,如果验证其不通过,则认为该请求不合法,则会丢弃该请求。
CSRF(跨站请求伪造)的危及防护手段:
CSRF属于客户端漏洞,其常见的危害主要如下:
1,攻击者以受害者身份发送信息,发送邮件。
2,攻击者以受害者身份修改网站敏感信息,盗取受害者的账户等
3,一句话总结:攻击者盗用受害者的身份,受害者可以干什么,攻击者就可以干什么。
防护手段:
1,HTTP请求数据包增加Token认证信息(原理:因为Token是随机且需要服务端验证通过的,所以可以避免CSRF攻击的发生)
2,对HTTP请求头部REFERER字段进行验证(原理:攻击者构造的恶意链接其发送的HTTP请求的REFERER字段肯定不是服务端本身)
3,网站的敏感信息等更改操作,增加验证手段,如增加验证码验证
4,对于网站的密码修改等涉及重要更改的操作,设置需要输入旧密码才支持修改
参考学习文章:
Web安全—跨站请求伪造攻击(CSRF)
CSRF漏洞危害,防御及其dvwa环境下的利用
Web安全—CSRF(Token)