目录
CSRF-无检测防护-检测&生成&利用
CSRF-Referer同源-代码逻辑&上传&XSS
CSRF-Token校验-值删除&复用&留空
知识点:1、CSRF-原理&检测&利用&防御
2、CSRF-防御-Referer策略隐患
3、CSRF-防御-Token校验策略隐患
CSRF-无检测防护-检测&生成&利用
检测:黑盒手工利用测试,白盒看代码检验(有无token,来源检验等)
生成:BurpSuite->Engagement tools->Generate CSRF Poc
但是这不是我们想要的,我们想要的效果就是受害者一访问就会自动触发,还需要在修改下POC数据包
利用:将文件放到自己的站点下,诱使受害者访问(或配合XSS触发访问)
CSRF-Referer同源-代码逻辑&上传&XSS
https://blog.csdn.net/weixin_50464560/article/details/120581841
就是判断Referer这个值是不是同一个域名或者同一个源下
绕过也简单,把referer来源改下就行
但是这里又有个问题,就是受害者不可能自己去改referer这个值呀。
只能尝试一下下面三种方式绕过
绕过1:配合文件上传绕过
绕过2:配合存储XSS绕过
绕过3:去掉检测来源头(代码逻辑问题)
<meta name="referrer" content="no-referrer">
这是开发为了防止浏览器打开新窗口访问URL从而导致没有来源这个头部信息特意写的
CSRF-Token校验-值删除&复用&留空
token(令牌,也可以理解为暗号,在数据传输之前,要先进行暗号的核对,暗号不一致则拒绝数据传输)
CSRF_token 对关键操作增加Token参数,token必须随机,每次都不一样,存储在cookie中,与验证码一样
绕过:
绕过0:将Token参数值复用(代码逻辑不严谨)能够重复使用token
绕过1:将Token参数删除(代码逻辑不严谨)把token整个参数值删掉
绕过2:将Token参数值置空(代码逻辑不严谨)把token的值删掉,保留token=
参考地址:https://blog.csdn.net/weixin_50464560/article/details/120581841