首页 > 其他分享 >CSRF简单了解

CSRF简单了解

时间:2022-11-18 15:13:34浏览次数:41  
标签:XSS 受害者 请求 XHR 了解 CSRF 简单 攻击者

简介

跨站请求伪造 (Cross-Site Request Forgery, CSRF),也被称为 One Click Attack 或者 Session Riding ,通常缩写为CSRF,是一种对网站的恶意利用。尽管听起来像XSS,但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。

分类

1.资源包含

资源包含是在大多数介绍CSRF概念的演示或基础课程中可能看到的类型。这种类型归结为控制HTML标签(例如<image>、<audio>、<video>、<object>、<script>等)所包含的资源的攻击者。如果攻击者能够影响URL被加载的话,包含远程资源的任何标签都可以完成攻击。

由于缺少对Cookie的源点检查,如上所述,此攻击不需要XSS,可以由任何攻击者控制的站点或站点本身执行。此类型仅限于GET请求,因为这些是浏览器对资源URL唯一的请求类型。这种类型的主要限制是它需要错误地使用安全的HTTP请求方式。

2.基于表单

通常在正确使用安全的请求方式时看到。攻击者创建一个想要受害者提交的表单; 其包含一个JavaScript片段,强制受害者的浏览器提交。

该表单可以完全由隐藏的元素组成,以致受害者很难发现它。

如果处理cookies不当,攻击者可以在任何站点上发动攻击,只要受害者使用有效的cookie登录,攻击就会成功。如果请求是有目的性的,成功的攻击将使受害者回到他们平时正常的页面。该方法对于攻击者可以将受害者指向特定页面的网络钓鱼攻击特别有效。

3.XMLHttpRequest

XMLHttpRequest可能是最少看到的方式,由于许多现代Web应用程序依赖XHR,许多应用花费大量的时间来构建和实现这一特定的对策。

基于XHR的CSRF通常由于SOP而以XSS有效载荷的形式出现。没有跨域资源共享策略 (Cross-Origin Resource Sharing, CORS),XHR仅限于攻击者托管自己的有效载荷的原始请求。

这种类型的CSRF的攻击有效载荷基本上是一个标准的XHR,攻击者已经找到了一些注入受害者浏览器DOM的方式。

 

防御

  • 通过CSRF-Token或者验证码来检测用户提交
  • 验证Referer/Content-Type
  • 用户修改删除操作建议采用POST操作
  • 避免全站通用Cookie 严格设置Cookie的域

标签:XSS,受害者,请求,XHR,了解,CSRF,简单,攻击者
From: https://www.cnblogs.com/SmallVoter/p/16903263.html

相关文章

  • leetcode 算法笔记 —— 简单题
    简单题1、两数之和implSolution{pubfntwo_sum(nums:Vec<i32>,target:i32)->Vec<i32>{letmutmp=HashMap::new();foriin0..nums.......
  • C# Chart 简单使用
    XAML:<Windowx:Class="WpfApp2.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft......
  • 学习wpf笔记3 MVVM模式——【转】C# WPF简单的MVVM模式事例
    一、前言WPF中使用MVVM模式开发有诸如以下优点:1.结构清晰明朗,上手成本低,一个新人也能快速的定位自己需要改动代码的位置。2.耦合度低,更改WPF控件不影响数据结构,更......
  • DOM简单学习以及事件简单学习
    DOM简单学习功能:控制html文档的内容代码:获取页面标签(元素)对象 Elementdocument.getElementById("id值"):通过元素的id获取元素对象操作Element对象:1.修改......
  • vscode搭建简单java运行环境
    打开官网​​​https://code.visualstudio.com/docs/languages/java​​安装这几个就够了(好像也可以通过安装JavaExtensionPack这个插件来安装上面的几个)正常安装能get到......
  • 力扣704(java&python)-二分查找(简单)
    题目:给定一个 n 个元素有序的(升序)整型数组 nums和一个目标值 target ,写一个函数搜索 nums 中的target,如果目标值存在返回下标,否则返回-1。示例1:输入:nums......
  • Kali Linux的Burp Suite 的简单使用(2022)
    KaliLinux的BurpSuite 的简单使用-上(2022)BurpSuite是用于攻击web应用程序的集成平台,包含了许多工具。BurpSuite为这些工具设计了许多接口,以加快攻击应用程序的过程......
  • 树莓派简单搭建公网SVN服务器
    前言我有两台电脑一个是台式一个是本本,外出都会带上笔记本,有时想敲代码了,SVN服务器无法链接实在不方便。为了解决这个问题,把树莓派稍微设置下,就该成了公网服务器,下面对整......
  • Vue-router 的简单应用
    一、基本路由。1、引入vue.js。<scripttype="text/javascript"src="../vue/vue.js"></script>2、引入核心的插件vue-router。<scripttype="text/javascript"s......
  • PriorityBlockingQueue的简单介绍
    队列通常是先进先出的,而PriorityQueue是按照元素的优先级从小到大出队列的。正因为如此,PriorityQueue中的2个元素之间需要可以比较大小,并实现Comparable接口 因为使用P......