上一篇博客:网络安全学习篇48_第四阶段_XSS防御、XSS平台的使用

PS:B站千峰网络安全开源课程P247-P258节内容主要包括PHP注入、ACCESS注入、Webshell、文件上传漏洞等详细内容不再记录(时间不够了,假期君要离我而去了~)


目录

  • CSRF
  • 概述
  • 关键点
  • 场景模拟
  • 目标
  • XSS配合CSFR
  • CSFR的防御

开始


一、CSRF

是一个Web应用的漏洞

场景发生在有某一个用户登录Web应用

发生在用户终端强制、诱惑执行非本地的操作

1.1概述

跨站请求伪造(Cross-site request forgery,CSRF)是一种攻击,他强制终端用户在当前对其进行身份验证之后的Web应用程序上执行非本意的操作

CSRF攻击的着重点在伪造更改状态的请求,而不是盗取数据,因为攻击者无法查看对伪造请求的响应

借助社工的一些帮助(电子邮件、聊天发送链接),攻击者可以诱骗用户执行攻击者选择的操作

如果受害者是普通用户,则成功的CSFR攻击可以强制用户执行状态更改的请求,例如资金转移更改电子邮件地址

如果受害者是管理账户,CSFR可能会危及整个Web应用程序

1.2关键点

CSFR是一种欺骗受害者提交恶意请求的攻击

他继承了受害者的身份和特权,代表受害者执行非本意、恶意的操作

对于大多数站点

1.3场景模拟

网络安全学习篇49_第四阶段_CSRF_安全

测试网站具有二人转账功能,包含数据库,每个账户金额存储在数据库

两个不同用户登录

网络安全学习篇49_第四阶段_CSRF_csrf_02

攻击者hacker账户登录

网络安全学习篇49_第四阶段_CSRF_https_03

admin用户访问hacker搭建的CSFR服务网站,点击链接,发现钱少了

网络安全学习篇49_第四阶段_CSRF_服务器_04

转账原因

网络安全学习篇49_第四阶段_CSRF_csrf_05

访问领取宝刀页面的同时,也像另外一个网页(转账网页)发送了信息

访问网页时候,浏览器将所有的Cookie信息发给了服务器—》源账户有了

点击引诱链接的同时,发送请求<a href="转账链接">点击领取宝刀!</a>---->目标账户hacker有了

网络安全学习篇49_第四阶段_CSRF_服务器_06

网络安全学习篇49_第四阶段_CSRF_Web_07

简单理解就是hacker利用CSRF伪造了admin用户的转账请求

跨站就是在诱惑网页的地址根网上银行主页的地址不是同一个

原理过程图

网络安全学习篇49_第四阶段_CSRF_服务器_08

1.4目标

CSFR攻击目标是能够更改服务器状态或数据的业务、功能

如更改受害者电子邮件地址、密码或购买商品,强制受害者查询数据

对于攻击者来说没什么用,因为无法获得服务器响应

因此CSFR攻击是针对引起状态变化的请求

网络安全学习篇49_第四阶段_CSRF_服务器_09


网络安全学习篇49_第四阶段_CSRF_服务器_10

1.5场景建模

网络安全学习篇49_第四阶段_CSRF_Web_11


代码,隐藏标签,执行脚本自动提交表单

网络安全学习篇49_第四阶段_CSRF_安全_12

1.6XSS配合CSFR

网络安全学习篇49_第四阶段_CSRF_https_13

1.7CSFR的防御

  • 无效的防御
  • 网络安全学习篇49_第四阶段_CSRF_安全_14

  • 有效防御
    验证referer字段,就是转账的点击连接的上一个网站必须是该银行的网站转向的
  • 网络安全学习篇49_第四阶段_CSRF_https_15

  • 其他
  • 网络安全学习篇49_第四阶段_CSRF_csrf_16


参考:B站千峰