056-Web攻防-CSRF&复现CMS&本地Demo等源码
056-Web攻防-CSRF&复现CMS&本地Demo等源码
知识点
1、CSRF-原理&检测&利用&防御
2、CSRF-防御-Referer策略隐患
3、CSRF-防御-Token校验策略隐患
csrf攻击流程


csrf实战工攻击所需条件

1.CSRF-无检测防护-检测&生成&利用
检测:黑盒手工利用测试,白盒看代码检验(有无 token,来源检验等)
生成:BurpSuite->Engagement tools->Generate CSRF Poc
利用:将文件防止自己的站点下,诱使受害者访问(或配合 XSS 触发访问)
**简单案例 **
-
首先我们在本地搭建一个管理平台 在账户管理这里新建账户
-
保存新建用户 并对其进行抓包 BurpSuite->Engagement tools->Generate CSRF Poc(注:这个功能只有2022年版本的burpsuite才有)
-
会生成一段代码 点击options 里面的include auto-submit script勾选 ,去掉最后一段显示按钮的代码
如果不勾选会在页面上显示一个点击按钮才能触发代码 这不是我们想要的 勾选完记得点击左下角 Regenerate重新加载按钮生成payload -
将我的写好的payload文件编译成html放在放在网站目录下面
-
我们去访问网站 http://t11/1.html 就会成功触发payload
-
接着登录管理员用户 查看账户管理 user已经成功添加
-
-
-
-

-

-
-

-

如何防护CSRF第一种
对数据包的Referer字段进行检测

简单案例
-
在本地搭建一个zblog 不会搭建的看这里 -> zblog搭建个人博客网站/安装教程手把手教你搭建
-
在用户管理这里新建用户 并用burpsuite抓包
-
将抓到的包同样生成 CSRF Poc跟上面一样
-
新建txt 将payload放到txt下面修改后缀为html将其放到网站目录下面
-
接着去访问
-

-

-

-

2. CSRF-Referer同源-代码逻辑&上传&XSS
如何绕过检测
来源检测
1、基于严谨的检测绕过
- 全部对比
2、基于不严谨的检测绕过
- 匹配对比
检测是否同源
目标机http://8.130.135.53:83/
检测来源是否是8.130.135.53:83/ 同源就行
全部对比:
- 一一对应
匹配对比:
- 有这个值
- 基于逻辑的判断
1.匹配对比:有这个值 基于不严谨的检测绕过
条件:点击过来的
直接访问:http://47.94.236.117
http://47.94.236.117/8.130.135.52:83/1.html
简单案例
-
网站访问http://47.94.236.117/2.html 在源为Refererhttp://47.94.236.117/
-
如果把2.html放在目录下面创建个目录 名为 http://8.130.135.53:83/2.html那么合起来就是
-
http://47.94.236.117/ http://8.130.135.53:83 (实战中无法使用 因为不能创建带有//的目录 这里只提供有一种思路)

2.逻辑的判断隐患
简单案例
- 如果直接去访问http://zblog:86/2.html 会显示非法访问
- 我们修改2.html代码 在html头上加上
<meta name="referrer" content="no-referrer">这段 - 然后在 (http://zblog:86/2.html) 抓包访问里面是没有referer 发送 显示操作成功




- 在Zblog里面的代码来源里面 这段代码显示在代码没有来源的时候返回true 因为网站的一些功能的实现 本身就没来源 这就给了我们钻空子的机会
- 因此在生成payload的时候在代码头部加上 有可能能绕过对来源的检测
- 或者要么就是置空 删除来源 放空提交也有可能绕过

1.全部对比:一一对应 基于严谨的检测绕过
严谨对比 受害者无法更改来源检测 保证了Referer是同一来源
绕过方法:
1.配合xss 或 2.上传(目的是:目标机触发数据包 Referer是同一来源)绕过检测
3. CSRF-Token校验-值删除&复用&留空

简单案例
- 我们在本地搭建一个CSRF ToKen案例
- 填写完信息后分别抓两次包
- 可以看到 两次抓包后的token值分别都不同
- **token的意义就是给每个数据包上了个编号 那个编号是随机产生的 CSRF攻击的时候 对方的浏览器token已经更新了 对比不上 代码判断为失效 **
- token的绕过方法(不严谨情况下):复用 删除 置空
-
-




浙公网安备 33010602011771号