CSRF漏洞

介绍

利用受害者尚未失效的身份信息,诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下向服务器发送请求从而完成非法操作

成因

网站的cookie在浏览器中不会过期,只要不退出或者不关闭浏览器在这期间访问网站都是登录的状态,此时攻击者发送构造好的脚本或者链接会执行成功

危害

盗用受害者的身份,以受害者的名义发送请求。

分类

GET型

只需要构造URL,然后诱导受害者访问利用。

POST型

构造自动提交的表单,诱导受害者访问或者点击

CSRF与XSS的区别

XSS:
攻击者发现xss漏洞—构造代码—发送给受害人—受害人打开—攻击者获得受害人的cookie—完成攻击
CSRF:
攻击者发现csrf漏洞—构造代码-发送给受害人—受害人打开—受害人执行代码—完成攻击

CSRF借助用户权限完成攻击,而XSS是盗取用户的权限

漏洞挖掘

1、抓取一个正常的数据包,若没有referer字段和token,那么有可能存在csrf
2、若有referer字段,但是去掉referer字段后在重新提交,如果提交还有效基本上确定存在csrf
3、对网站增删改查的地方进行研究,判断请求是否可以进行伪造(未使用token,修改账号不需要旧密码等)
4、确认凭证的有效期(cookie,session没有随着浏览器关闭或者账号退出而清理掉)

漏洞防御

1、验证http referer字段

http头中referer字段记录了http请求的来源地址。

例:
从dvwa的brute force页面挑转到csrf页面,在csrf界面中查看referer字段值为:http://192.168.101.59/DVWA-master/vulnerabilities/brute/
brute force页面url:http://192.168.101.59/DVWA-master/vulnerabilities/brute/
csrf页面url:http://192.168.101.59/DVWA-master/vulnerabilities/csrf/

而攻击者请求csrf界面不是从本网站内跳转过来的,所以referer的值会指向攻击者自己的网站。增加referer的验证不是本网站ip或者域名开头的拒绝请求。
在这里插入图片描述

2、请求地址中增加token并验证

在请求中用户的验证信息都存在于cookie中,因此攻击者可以不去了解这些信息而直接利用用户自己的cookie通过验证。

增加不能伪造的随机产生的token在参数中,验证请求中的token参数,若token没有或者不正确可以认为是csrf攻击拒绝访问

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

在http的请求头中增加自定义属性

burp生成POC

在这里插入图片描述
完,我这个版本没有这个功能,好吧。
先抓取数据包,右键,engagement tools—>generate csrf poc。下一步好像是生成了攻击代码能直接保存成html文件把,要不就是需要自己把攻击代码复制出来保存成html文件,然后打开攻击代码就执行了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值