免责声明
本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。
如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。
文中所涉及的技术、思路及工具等相关知识仅供安全为目的的学习使用,任何人不得将其应用于非法用途及盈利等目的,间接使用文章中的任何工具、思路及技术,我方对于由此引起的法律后果概不负责。
#知识点
1、CSRF-原理&检测&利用&防御
2、CSRF-防御-Referer策略隐患
3、CSRF-防御-Token校验策略隐患
1.CSRF-无检测防护-检测&生成&利用
检测:黑盒手工利用测试,白盒看代码检验(有无token,来源检验等)
生成:BurpSuite->Engagement tools->Generate CSRF Poc
但是这不是我们想要的,我们想要的效果就是受害者一访问就会自动触发,还需要在修改下POC数据包
利用:将文件放到自己的站点下,诱使受害者访问(或配合XSS触发访问)
2. CSRF-Referer同源-代码逻辑&上传&XSS
CSRF的绕过方法与利用_csrf绕过-CSDN博客
就是判断Referer这个值是不是同一个域名或者同一个源下
绕过也简单,把referer来源改下就行
但是这里又有个问题,就是受害者不可能自己去改referer这个值呀。
只能尝试一下下面三种方式绕过
绕过1:配合文件上传绕过
绕过2:配合存储XSS绕过
绕过3:去掉检测来源头(代码逻辑问题)
<meta name="referrer" content="no-referrer">
这是开发为了防止浏览器打开新窗口访问URL从而导致没有来源这个头部信息特意写的
3. CSRF-Token校验-值删除&复用&留空
token(令牌,也可以理解为暗号,在数据传输之前,要先进行暗号的核对,暗号不一致则拒绝数据传输)
CSRF_token 对关键操作增加Token参数,token必须随机,每次都不一样,存储在cookie中,与验证码一样
绕过:
绕过0:将Token参数值复用(代码逻辑不严谨)能够重复使用token
绕过1:将Token参数删除(代码逻辑不严谨)把token整个参数值删掉
绕过2:将Token参数值置空(代码逻辑不严谨)把token的值删掉,保留token=
参考地址:
CSRF的绕过方法与利用_csrf绕过-CSDN博客