渗透实战|偷梁换柱!UUID 与数字 ID 混用引发水平越权漏洞全拆解 500$
前言在 Web 接口渗透测试中开发常使用 UUID 复杂字符串作为业务资源 ID误以为长随机 ID 就能阻挡越权遍历这是非常典型的安全误区。本次分享海外考勤班次系统真实渗透案例系统同时存在UUID 长 ID、数字短 ID两套资源标识低权限普通员工通过替换请求内 ID 值实现越权查看、操作管理员班次记录属于高危水平越权漏洞。全文完整还原测试步骤、漏洞根源、风险危害与落地修复方案适合开发、安全测试、运维人员学习参考。一、漏洞 测试基础信息1. 目标系统业务与权限体系该平台为企业考勤班次管理系统核心功能为员工打卡、班次记录查看、下班签退Check Out划分两类基础账号低权限普通员工user_id22684363仅允许查看、操作自身创建的班次记录高权限管理员user_id22684364可查看团队全部人员班次数据。2. 漏洞核心特征资源 ID 双格式混用数据库同时存储UUID 复杂字符串 ID与纯数字简易 ID接口未做 ID 格式强校验两种 ID 均可正常访问资源缺失归属权校验接口仅校验 ID 是否存在未校验当前登录账号是否拥有该班次记录的操作权限覆盖多类风险操作不仅可越权读取他人班次详情还能执行下班签退Check Out修改他人业务数据属于读写复合型高危越权。3. 漏洞风险等级高危漏洞攻击者仅需普通员工账号即可读取团队内全部人员考勤、薪资关联班次数据还能篡改管理员考勤记录干扰企业人事核算。二、漏洞实操 / 测试流程原文原句完整保留步骤标连续序号漏洞完整利用步骤1、使用不同权限账号登录系统各自创建一个班次记录 低权限用户 22684363高权限用户 226843642、低权限用户只能看自己能看到的记录高权限用户可以看到所有的记录3、用户访问记录时请求包中默认都是该记录的复杂 id以低权限用户为例4、此时尝试替换复杂 id 为 简单 id即 xxxxx-xxxxx-xxxxx-xxxxx 为 22xxxx 发现可以正常访问相同的数据5、尝试遍历 id发现访问团队内其他用户的 id 是 403非团队内其他用户的是 404 6、对该记录进行其他功能的使用发现 check out 存在越权 请求为https://xxxx.asdasdasdasd.xom/api/internal/shifts/xxxx-yyyyyy-asdasdadasda-dgfhdfhfghjfgh/check_out.json 替换 id https://xxxx.asdasdasdasd.xom/api/internal/shifts/226xxxxx/check_out.json 最后替换 id 为高权限用户的记录 id 22684364发现不仅能越权获取记录详情同时还可以 checkout 他人记录操作细节补充梳理系统前端展示资源时默认携带 UUID 格式长 ID 发起请求开发寄希望 UUID 无规律防止遍历抓包修改接口路径中的资源标识将 UUID 替换为数据库内对应的纯数字短 ID后端无格式拦截正常返回完整班次数据读接口存在越权后延伸测试写接口下班签退 Check Out同样替换管理员班次数字 ID服务端直接执行签退逻辑管理员班次记录被清空业务数据被恶意篡改边界测试遍历同团队其他员工 ID 返回 403跨团队陌生 ID 返回 404说明仅做了团队粗粒度隔离未做单条记录归属人精准校验。三、漏洞挖掘思路梳理测试切入点带资源 ID 的 RESTful 接口形如/api/xxx/{资源ID}/操作的路径型接口是越权重灾区尤其是考勤、订单、文件、工单类带归属关系的业务优先抓包修改路径内 ID 值测试。ID 格式双重测试思维若系统同时存在 UUID、自增数字 ID、哈希 ID 等多套标识不要只测试前端展示的 ID 格式需要替换数据库底层原始数字 ID、主键 ID 尝试绕过限制。读写联动测试逻辑先测试查询类读接口确认越权存在立刻延伸测试修改、删除、状态变更等写接口多数场景读接口存在越权时写接口同步存在风险危害会成倍放大。边界遍历辅助判断校验逻辑批量遍历不同归属、不同团队的 ID通过返回码403/404/200判断后端校验粒度仅区分团队、未区分记录所有人是本次漏洞的核心校验缺失点。底层逻辑漏洞根源开发错误认为「UUID 复杂 ID 能防越权」将安全防护寄托在 ID 复杂度上完全忽略接口必须校验当前用户是否属于本条资源归属人ID 仅作为资源定位标识不具备任何权限防护能力。四、漏洞完整总结核心问题 业务危害 修复建议 测试心得一漏洞核心问题权限校验逻辑严重缺失接口仅校验资源 ID 是否存在、是否属于同一团队未精准校验当前登录账号是否为班次记录创建人 / 归属人是越权根本诱因多格式 ID 无统一强校验系统混用 UUID、数字自增 ID 两套主键后端未对接口传入的 ID 格式做白名单拦截攻击者可随意替换两种格式 ID 访问资源防护思路本末倒置依赖 UUID 长 ID 的随机性做安全防护混淆「资源唯一标识」和「访问权限控制」的作用ID 复杂度无法抵御抓包篡改、ID 遍历攻击读写接口校验标准不统一查询、签退修改接口共用同一套薄弱校验逻辑读数据、篡改数据双重越权全部放行无差异化权限拦截。二业务安全危害敏感人事数据泄露低权限员工可越权读取管理员、同团队全员考勤打卡时间、工作地点、薪资计价标准等隐私人事数据违反个人信息保护相关法规业务数据恶意篡改可对任意他人班次执行下班签退操作清空考勤记录直接干扰企业工时统计、工资核算造成财务与人事纠纷横向渗透风险放大攻击者通过遍历数字 ID批量爬取团队内部全部考勤数据若叠加其他漏洞可进一步获取员工邮箱、手机号等核心信息企业管理秩序破坏恶意篡改管理员考勤记录可伪造旷工、迟到记录引发内部管理纠纷造成企业管理公信力受损。三标准化落地修复建议增加资源归属强制校验核心修复所有班次查询、修改、签退接口在查询数据库班次数据后必须比对班次绑定的user_id与当前登录 Token/Session 内用户 ID不一致直接返回 403 权限不足统一资源 ID 格式拦截非法 ID全系统统一使用单一 UUID 作为对外暴露的业务资源 ID数据库自增数字主键仅后端内部使用禁止前端、接口传输后端增加 ID 格式正则白名单仅允许 UUID 格式字符串访问接口纯数字 ID 直接拦截读写接口分级权限控制查询接口、修改 / 删除类写接口拆分校验逻辑写接口增加更严格权限校验仅资源归属人、超级管理员可执行修改操作新增操作日志与异常监控记录班次查看、签退操作的账号、目标班次 ID监控短时间大量遍历不同用户班次 ID、频繁操作他人班次的行为实时告警拦截安全开发规范约束明确开发红线任何业务资源 ID 都不能作为权限防护手段权限控制必须基于登录身份与资源归属关系双重校验。四渗透测试心得不要被前端展示的复杂 UUID 迷惑数据库底层自增数字主键往往是越权突破口抓包替换不同格式 ID 是基础必测项越权测试不能只测查询功能修改、删除、状态变更等写接口危害更大必须联动测试很多开发存在认知误区长随机 ID 不会被遍历实际上攻击者只要获取一条有效数字 ID即可批量遍历同团队全部资源校验粒度是关键仅区分团队、部门的粗粒度校验无法抵御越权必须精确到单条资源归属用户。五、安全声明本文全部测试操作均在企业授权渗透测试环境内完成案例仅用于网络安全技术学习、企业安全体系建设参考根据《网络安全法》《数据安全法》《个人信息保护法》任何未经授权擅自检测、访问、篡改第三方信息系统数据的行为属于违法行为将承担民事、行政乃至刑事责任企业开发、安全、运维团队可直接参考文中修复方案优化接口权限逻辑上线前将 ID 篡改越权纳入自动化接口安全测试用例提前规避同类漏洞。

相关新闻

AI推理中Token优化策略:从隐藏位置到成本控制实战

AI推理中Token优化策略:从隐藏位置到成本控制实战

这次我们来深入探讨一个在AI推理过程中经常被忽视但至关重要的问题——token的隐藏位置和优化策略。如果你在使用大语言模型进行推理任务时,经常遇到token消耗过快、成本不可控的问题,这篇文章将为你揭示token的"藏身之处"和有效的管理方法。在…

2026/10/28 11:59:36 阅读更多 →
Kimi带图回答私密调优手册(限首批200名技术负责人领取|含未公开的region-aware prompt权重配置表)

Kimi带图回答私密调优手册(限首批200名技术负责人领取|含未公开的region-aware prompt权重配置表)

更多请点击: https://kaifayun.com 第一章:Kimi带图回答的技术架构与核心能力概览 Kimi带图回答功能依托于月之暗面自研的多模态大模型架构,深度融合视觉理解、语言生成与跨模态对齐技术。其底层采用统一的Transformer-based编码器-解码器框…

2026/10/25 5:13:05 阅读更多 →
抖音批量下载神器:5分钟掌握无水印视频下载的终极方案

抖音批量下载神器:5分钟掌握无水印视频下载的终极方案

抖音批量下载神器:5分钟掌握无水印视频下载的终极方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppo…

2026/10/28 7:59:16 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/27 17:33:32 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/28 7:28:00 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/28 9:02:11 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/27 18:20:50 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/28 9:00:54 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/28 7:29:02 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 13:55:19 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/28 9:01:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 19:19:37 阅读更多 →