当前位置: 首页 > news >正文

【SRC漏洞挖掘系列】第07期:越权访问(IDOR)—— 隔壁老王的故事

上期回顾:我们学会了把 100 块钱变成 1000 块(并发竞争)。今天聊点更“缺德”的——越权访问(IDOR)

俗话说:“看好自己的门,管好自己的人。” 但在互联网上,很多人连门都没锁。🚪


一、什么是越权?(通俗版)

想象一个小区(网站),每家每户都有一个门牌号(ID)。

  • 水平越权:你本是 101 室的业主,结果你拿着 102 室的钥匙也能开门,进去偷看老王的内衣颜色。

  • 垂直越权:你本是普通住户(普通用户),结果你拿到了物业经理的万能卡,直接把小区大门卖了。

技术定义Insecure Direct Object Reference (IDOR)​ —— 由于访问控制缺失,导致用户可以操作不属于自己权限范围内的数据。


二、水平越权:窥探隐私的“万能钥匙”

这是 SRC 里数量最多的漏洞,因为开发最容易忘。

1. 经典场景:查看订单

正常请求

http

GET /order/detail?order_id=10001 HTTP/1.1 Cookie: user=A

攻击请求

http

GET /order/detail?order_id=10002 HTTP/1.1 Cookie: user=A

结果:User A 看到了 User B 的订单详情(收货地址、电话、身份证号)。

危害严重信息泄露。SRC 通常给高危

2. 修改他人资料

请求包

http

POST /user/update { "user_id": 10001, // 这是我的ID "nickname": "我是大帅比" }

操作:把user_id改成10000(管理员ID)。

结果:把管理员的昵称改成了“我是大帅比”。😎

(如果只是改昵称,评级中危;如果能改管理员的密码或邮箱,直接 Critical)。


三、垂直越权:平民变皇帝

1. 后台功能的“裸奔”

很多网站的后台接口根本不做权限校验。

流程

  1. 普通用户登录,抓包。

  2. 访问普通接口:/api/user/info

  3. 猜测后台接口:/api/admin/addUser

  4. 直接访问POST /api/admin/addUser {"username":"hacker"}

  5. 结果:普通用户直接给系统添加了一个管理员账号。

2. 前端藏匿(Hidden in JS)

有些按钮(如“删除用户”)在普通用户界面是隐藏的。

误区:以为隐藏了就安全了。

真相:JS 文件里写死了接口地址。只要抓包找到那个接口,照样能执行。


四、实战案例:如何把“老王”踢下线?

这是一个真实的 SRC 挖掘思路(虚构案例):

  1. 抓包:登录我的账号,看到请求里有uid=12345

  2. 遍历:用 Burp Intruder 跑uid=12340uid=12350

  3. 发现:访问uid=12344时,返回了大量用户隐私数据(包括手机号、住址)。

  4. 升级:尝试修改uid=12344的用户信息,发现可以修改密码。

  5. 报告:提交“批量用户账号接管漏洞”。

  6. 奖金:到账 5000 元。💰


五、绕过技巧:ID 的“变脸”

有时候开发做了防护,但很弱。

1. 编码绕过

  • 明文user_id=1

  • 编码user_id=MTIzNA==(Base64)

  • 哈希user_id=cbf7198176a809f32c6a0eacc0d5f067(MD5 of 1234)

    操作:把数字 ID 换成对应的编码格式,也许就能绕过正则匹配。

2. 弱比较(PHP 特性)

在 PHP 中,1 == '1admin'是成立的。

Payloaduser_id=1admin可能等同于user_id=1

3. UUID 不可预测性

如果网站用的是 UUID(如a1b2-c3d4-e5f6),很难遍历。

对策:去 JS 文件里找,或者去泄露的接口里找其他用户的 UUID。


六、SRC 报告中的“避坑指南”

行为

后果

批量遍历 10 万用户数据

封号/报警。证明漏洞只需 2-3 个账号。

修改他人密码并登录

高危违规。证明可以修改即可,不要登录。

删除他人数据

直接拉黑。这是破坏性测试。

正确姿势

截图证明“我(A)能看到他(B)的数据”即可,不要做任何修改操作。


七、互动与思考

💬 互动话题

大家挖越权时,最喜欢用什么字典?是user_iduidaccountId还是openid

有没有遇到过那种“把id=1改成id=2直接给我返回了 CEO 简历”的爽文剧情?😂


⚠️ 法律红线警示

  1. 严禁利用越权漏洞登录他人账号查看大量用户隐私数据(如通讯录、聊天记录)。

  2. 严禁进行“遍历测试”(例如写个脚本跑 1-10000 导出全站数据),这涉嫌非法获取公民个人信息罪

  3. 严禁修改、删除他人的关键数据(余额、订单、密码)。

  4. 测试原则

    • 仅测试与自己相关的两个账号(账号A越权看账号B)。

    • 仅读取元数据(如头像、昵称),不要触碰敏感信息(如手机号、身份证)。

    • 发现漏洞,立即停止,截图上报。

      技术是放大镜,不是透视镜。请尊重他人的隐私,守住法律的底线。​ 🛡️

下一期,我们将深入“SSRF与内网探测”—— 从外网打进内网的跳板”。想知道怎么用一台 Web 服务器攻击 Redis 数据库吗?敬请期待!🔥

http://www.gsyq.cn/news/1355579.html

相关文章:

  • Anthropic Zero Layer:大模型推理栈的原子化归一
  • taotoken平台新手指南如何用python调用多模型api
  • UABEA:三步解锁Unity游戏资源编辑的终极解决方案
  • Qt Widgets实战:用QCheckBox三态复选框搞定复杂表单选项(附QButtonGroup管理技巧)
  • 机器学习评估的数学本质:从Population Risk到零泄漏Pipeline
  • PaperXie 期刊论文写作全解析|从选题到成稿,一键适配普通 / 核心 / SCI 期刊
  • TPT线下工作坊:AIGC、云原生与数据合规的深度实践与碰撞
  • 量子退火算法在电力系统优化中的创新实践
  • 使用 Node.js 开发后端服务并接入 Taotoken 多模型聚合
  • 从胶片模拟到数字净化:Midjourney颗粒感控制的3代技术演进(含2024Q2未公开beta版--grain参数逆向解析)
  • RabbitMQ 工作模式与Java原生客户端案例
  • 黄金回收白银回收铂金回收彩金回收店铺推荐祁东县2026最新五家靠谱回收门店TOP5排行榜及联系方式推荐 - 前途无量YY
  • 用AD603+LTC1966搭建低成本程控放大器:手把手教你从仿真到PCB(附F103代码)
  • Unity中HRN 3D人脸重建的工程落地全链路指南
  • 朱雀广告平台:5大核心优势构建一站式程序化广告解决方案实战指南
  • DeepSeek OCR:面向业务落地的结构化文档智能解析方案
  • 黄金回收白银回收铂金回收彩金回收店铺推荐祁阳县2026最新五家靠谱回收门店TOP5排行榜及联系方式推荐 - 前途无量YY
  • 解决C166微控制器编译错误:ADDAT2无效基地址问题
  • P4-TAS技术解析:可编程数据平面在时间敏感网络中的应用
  • MAX7219显示驱动器设计:从芯片原理到硬件级联与软件优化实战
  • 通过模型广场快速选型并获取对应API调用示例代码
  • 告别命令行恐惧:用xrdp给你的Ubuntu服务器装个‘可视化’遥控器
  • 别再死磕文档了!用一张图搞懂CANopen DS402的35种回零(Homing)方法
  • 3Dmigoto终极指南:5步修复游戏立体视觉,告别重影困扰
  • 零代码工具的未来发展趋势是什么?
  • REFramework终极指南:如何构建企业级RE引擎游戏Mod开发框架
  • 7天掌握BepInEx:从游戏玩家到模组开发者的完整转型指南
  • ScriptHookV深度解析:构建GTA V自定义模组的核心技术框架
  • 案例之CNN案例_图像分类
  • FastGithub:为GitHub访问装上智能导航系统