【信息安全】浅谈IDOR越权漏洞的原理、危害和防范:直接对象引用导致的越权行为
前言
┌──────────────────────────────────┐
│ 正在播放《越权访问》 - Hanser
│ ●━━━━━━─────── 00:00 / 03:05
│ ↻ ◁ ❚❚ ▷ ⇆
└──────────────────────────────────┘附银狼美图镇楼

越权
越权是指一个用户或者角色在系统中执行超出其权限范围的操作。常见的例子包括未经授权的访问、修改或删除其他用户的数据,或者执行超出其角色权限的操作。越权行为可能导致敏感信息泄露、数据损坏、系统功能被滥用等安全问题。
攻击者可以通过越权访问到不应该被其所见的数据,甚至可能篡改或删除重要的信息。这可能导致用户隐私泄露、数据完整性受损,甚至可能对整个系统的可用性造成影响。
危害
越权行为可能导致敏感信息泄露、数据损坏、系统功能被滥用等安全问题。攻击者可以通过越权访问到不应该被其所见的数据,甚至可能篡改或删除重要的信息。
直接对象引用 DOR
直接对象引用(Direct Object Reference,简称DOR)是指在系统中直接暴露敏感对象的引用。直接对象引用的对象可以是文件、数据库中的某些数据,甚至是整个文件夹。
在许多Web应用程序中,通过URL参数或者请求体中的参数传递对象引用是很常见的做法。例如,在一个文件管理系统中,可以通过URL参数传递文件名来访问对应的文件。
http://www.example.com/file.php?example.doc
不安全的直接对象引用 IDOR
不安全的直接对象引用(Insecure Direct Object Reference,简称IDOR)是一种安全漏洞,指在系统中直接暴露敏感对象的引用,使攻击者可以通过修改对象引用来越权访问未经授权的资源。
原理
IDOR的原理是攻击者通过修改对象的标识符,绕过权限验证,访问到不应该被其所见的资源。通常,系统中的对象都会有一个唯一的标识符(如ID),用于访问和操作该对象。攻击者可以通过修改对象的标识符,来访问到未经授权的资源。
http://www.example.com/user.php?id=1
http://www.example.com/user.php?id=2
http://www.example.com/user.php?id=3
http://www.example.com/user.php?id=4
http://www.example.com/user.php?id=5
危害
直接对象引用可能导致敏感信息泄露、数据篡改、越权访问等安全问题。攻击者可以通过修改对象引用来访问到不应该被其所见的资源,甚至可能对其进行篡改或删除。
防范
-
加密和混淆对象引用:对于敏感的对象引用,可以使用加密或混淆的方式来隐藏其真实值,使攻击者无法轻易猜测或修改。使用加密算法对对象引用进行加密,确保只有合法的用户能够解密并使用该引用。
举个栗子,我们用哈希代替明文用户ID:
http://www.example.com/user.php?id=qV7Jc9D6ZbYp2Xe0aW3TtRg5KlM1nIoP -
授权验证和访问控制:在访问敏感资源之前,进行严格的授权验证和访问控制,确保只有具有相应权限的用户可以访问。验证用户的身份和权限,限制用户对敏感资源的访问,确保只有合法的用户才能够访问。
-
使用间接引用:不直接暴露敏感对象的引用,而是通过中间层或代理来进行访问,以增加额外的安全性和控制。通过使用间接引用,可以隐藏真实的对象引用,只暴露一个代理或中间层的引用,以增加攻击的难度。
-
输入验证和过滤:对所有输入进行严格的验证和过滤,以防止攻击者通过篡改请求参数来进行IDOR攻击。不仅要验证和过滤表单中的数据,还要对所有与对象引用相关的输入参数进行校验,包括URL中的参数、请求头中的参数等。
-
审计和监控:定期审计系统中的操作日志,及时发现和响应IDOR攻击行为。监控系统中的异常访问行为,包括访问频率、访问路径等,及时发现潜在的IDOR攻击。
相关文章:
【信息安全】浅谈IDOR越权漏洞的原理、危害和防范:直接对象引用导致的越权行为
前言 ┌──────────────────────────────────┐ │ 正在播放《越权访问》 - Hanser │ ●━━━━━━─────── 00:00 / 03:05 │ ↻ ◁ ❚❚ ▷ ⇆ └───────────────────────────────…...
uni-app 蓝牙打印, CPCL指令集使用
先上代码: GitHub - byc233518/uniapp-bluetooth-printer-demo: 使用uniApp 连接蓝牙打印机 Demo, CPCL 指令简单实用示例 (内含 芝珂,佳博,精臣 多个厂家指令集使用文档) 文件结构: ├── App.vue ├── CPCL 指令手册.pdf // 指令集参考手册 ├── LICENSE ├── R…...
vue-组件通信(二)
🌈个人主页:前端青山 🔥系列专栏:Vue篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来vue篇专栏内容:vue-组件通信(二) 目录 组件通信(二) (1) props / $emit 1. 父组件向子组…...
2023年【危险化学品经营单位安全管理人员】考试题及危险化学品经营单位安全管理人员模拟试题
题库来源:安全生产模拟考试一点通公众号小程序 危险化学品经营单位安全管理人员考试题是安全生产模拟考试一点通总题库中生成的一套危险化学品经营单位安全管理人员模拟试题,安全生产模拟考试一点通上危险化学品经营单位安全管理人员作业手机同步练习。…...
Uni-App常用事件
Uni-App是一个跨平台的前端开发框架,支持多个平台的应用开发,包括H5、小程序、App等。在Uni-App中,有许多常用的事件可以用来处理用户交互、页面生命周期等方面的逻辑。以下是一些Uni-App中常用的事件: 点击事件(click…...
【笔记 Pytorch】稀疏矩阵、scipy.sparse模块的使用
安装:pip install scipy 描述:就是专门为了解决稀疏矩阵而生。导入模块:from scipy import sparse 优缺点总结 七种矩阵类型描述coo_matrix ★【名称】coordinate format 【优点】 ① 不同稀疏格式间转换效率高(特别是CSR和CSC) …...
C#学习相关系列之Linq常用方法---排序(一)
一、构建数据 public class Student_1{public int ID { get; set; }public string Name { get; set; }public int Chinese { get; set; }public int Math { get; set; }public int English { get; set; }public override string ToString(){return string.Format("ID:{0},…...
Android Proguard混淆
关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、人工智能等,希望大家多多支持。 目录 一、导读二、概览三、语法规则3.1 输入/输出选项3.2 保留选项3.3 缩…...
MySQL 1、初识数据库
一、什么是数据库? 以特定的格式保存好的文件,我们就叫做数据库。 提供较为便捷的数据的存取服务的软件集合、解决方案,我们就叫它数据库。 存储数据用文件就可以了,为什么还要弄个数据库。 文件或数据库都可以存储数据&#…...
H5ke11--3介绍本地,会话存储
代码顺序: 1.设置input,捕获input如果有多个用属性选择符例如 input[typefile]点击事件.向我们的本地存储设置键值对 2.在点击事件外面设置本地存储表示初始化的值.点击上面的事件才能修改我们想修改的值 会话(session)浏览a数据可以写到本地硬盘,关闭页面数据就没了 本地(…...
技术分享 | 如何写好测试用例?
对于软件测试工程师来说,设计测试用例和提交缺陷报告是最基本的职业技能。是非常重要的部分。一个好的测试用例能够指示测试人员如何对软件进行测试。在这篇文章中,我们将介绍测试用例设计常用的几种方法,以及如何编写高效的测试用例。 ## 一…...
quarkus的一些注解1
path 用于指定一个类或者方法的URL路径前缀。 Inject 将一个依赖注入到一个类或方法中 Get 用于指定一个处理HTTP GET请求 Produce 注解用于指定一个方法返回的内容类型。例如,Produces(MediaType.TEXT_PLAIN) 表示该方法返回一个纯文本类型的内容 QuarkusIn…...
初学Redis(Redis的启动以及字符串String)
首先使用在Windows PowerShell中输入指令来启动Redis: redis-server.exe 然后通过指令连接Redis: redis-cli 上图的127.0.0.1是计算机的回送地址 ,6379是默认端口 上述代码中创建了两个键,注意Redis中严格区分大小写࿰…...
C++ opencv基本用法【学习笔记(九)】
这篇博客为修改过后的转载,因为没有转载链接,所以选了原创 文章目录 一、vs code 结合Cmake debug1.1 配置tasks.json1.2 配置launch.json 二、图片、视频、摄像头读取显示2.1 读取图片并显示2.2 读取视频文件并显示2.3 读取摄像头并写入文件 三、图片基…...
理财和银保区别
理财和银保在以下六个方面存在区别: 产品性质:银行理财是银行发行的理财产品,属于金融投资,主要投向债券、票据等固定收益类资产。银保产品是保险公司发行的保险产品,属于保障投资,除了固定收益类资产外&am…...
一文浅入Springboot+mybatis-plus+actuator+Prometheus+Grafana+Swagger2.9.2开发运维一体化
Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTFUL风格的Web服务,是非常流行的API表达工具。 Swagger能够自动生成完善的 RESTFUL AP文档,,同时并根据后台代码的修改同步更新,同时提供完整的测试页面来调试API。 Prometheus 是一个开源的服务监控系统和时…...
【日常】爬虫技巧进阶:textarea的value修改与提交问题(以智谱清言为例)
序言 记录一个近期困扰了一些时间的问题。 我很喜欢在爬虫中遇到问题,因为这意味着在这个看似简单的事情里还是有很多值得去探索的新东西。其实本身爬虫也是随着前后端技术的不断更新在进步的。 文章目录 序言Preliminary1 问题缘起1.1 Selenium长文本输入阻塞1.2…...
C++知识点总结(6):高精度乘法真题代码
一、高精度数 低精度数 #include <iostream> #include <cstring> using namespace std;int main() {// 存储并输入两个数字 char a_str[1005] {};long long b;cin >> a_str >> b;// 特例先行:结果是0的情况if (a 0 || b 0){cout <&…...
Polygon zkEVM的Dragon Fruit和Inca Berry升级
1. Polygon zkEVM的Dragon Fruit升级 2023年8月31日,Polygon zkEVM团队宣称启动了其Mainnet Beta的Dragon Fruit升级的10天timelock,预计将于2023年9月11日激活。 Dragon Fruit升级点有: 改进了网络支持了最新的以太坊opcode——PUSH0 1.…...
【计算机网络学习之路】网络基础1
文章目录 前言一. 计算机网络发展局域网和广域网 二. 网络协议三. OSI七层模型四. TCP/IP四层(五层)模型五. 计算机体系结构与网络协议栈六. 协议形式及局域网通信数据包封装与分用 七. 跨网络通信八. MAC地址与网络通信的理解结束语 前言 本系列文章是…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
IP如何挑?2025年海外专线IP如何购买?
你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...
