改个数字就能删别人数据?聊聊\"水平越权\"漏洞"

admin 2026-10-15 12:39:11 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

改个数字就能删别人数据?聊聊\"水平越权\"漏洞

三垣网安

2026年10月10日 21:29
湖南

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

WEB 安全科普 · 从某大学档案系统漏洞说起

你住酒店时,房卡只能刷自己的房间。但如果有人发现——把房卡编号改个数字,就能刷开整层楼所有门,你会不会后背发凉?

这不是电影情节。2025 年 2 月,安全研究员披露某大学档案预约系统存在水平越权漏洞,普通用户改一个数字就能删掉别人的收件地址。

今天就用这个真实案例,掰开揉碎讲清楚。

一、什么是水平越权?

你在某网站登录后,地址栏显示 user\\_id=123。你试着改成 124,结果操作了另一个用户的数据——这就是水平越权。

类比: 酒店给你一张刷 502 房的房卡,你把编号改成 503,也能刷开。不是因为你权限大了,而是锁没验证\"这间房是不是你的\"。

二、真实案例长什么样?

系统功能很简单:用户注册 → 登录 → 在\"地址管理\"里添加收件地址,用于档案邮寄。看似普通,却藏着致命缺陷。

三、攻击怎么发生的?四步还原

步骤 1:注册两个账号,分别添加地址

系统的注册页面向互联网开放,任何人都能注册。研究员注册了两个账号:

  • 账号 A:添加了 2 条收件地址
  • 账号 B:添加了 1 条收件地址

这就好比两个租客,各自往自己的快递柜里放了包裹——A 放了两个,B 放了一个。

步骤 2:登录账号 A,删除自己的地址

研究员登录账号 A,进入\"地址管理\"页面。正常情况下,页面只显示账号 A 自己的 2 条地址,看不到账号 B 的。

他点击其中一条地址的\"删除\"按钮——这是一次完全正常的操作。

步骤 3:抓包分析,发现漏洞

删除操作的同时,研究员用 Burp Suite(一款 Web 安全测试工具)拦截了这次删除的 HTTP 请求。结果发现包样式如下:

// 删除请求(简化)

POST /borrowAddress/deleteBorrowAddress.do

id=6   // 请求体里就这一个参数!

两个关键发现:

  1. 参数极其简单:删除操作只传了一个 id 参数,没有任何其他验证信息
  2. id 是自增的:测试过程中发现 id 是逐渐递增的整数(1, 2, 3, 4, 5, 6...)

这意味着什么?意味着 id 可以被猜出来。如果系统不验证\"这个 id 对应的地址是不是你的\",那改一下 id 就能删别人的东西。

步骤 4:改 id,越权删除

研究员把请求里的 id=6(自己的地址)改成账号 B 那条地址对应的 id,然后重新发送请求。结果——删除成功。

回到地址管理页面一看,对方的数据没了。报告截图上赫然写着四个字:\"越权删除成功\"。

注意: 整个过程不需要破解密码、不需要绕过防火墙,甚至不需要什么高级技术。只要会用浏览器抓包工具看请求参数,改一个数字——这就是\"中危\"的原因:利用门槛极低,但影响范围可控(仅限地址数据删除)。

四、为什么会有这个 bug?

核心原因就一个:后端没验证数据归属权。

收到删除请求后,后端直接拿着前端传过来的 id 去删数据,根本没检查\"这条数据是不是当前登录用户的\"。

有问题的 SQL(伪代码):

DELETE FROM address WHERE id = {用户传的id};

正确的 SQL:

DELETE FROM address

WHERE id = {用户传的id}

AND user\_id = {当前登录用户};

少了 AND user\\_id = ? 这一行,任何人改个 id 就能操作别人的数据。再加上 id 是自增整数,太好猜了,攻击门槛几乎为零。

五、怎么修?四招搞定

  1. 加用户过滤

所有查询和操作都带上 WHERE user\\_id = 当前用户,从根本上隔离数据。

  1. 验证所有权

删、改之前先查一遍\"这条记录是不是你的\",不是就直接拒绝。

  1. 用不可预测的 ID

把自增整数换成 UUID(类似 a3f7b2e1-4d8c-9a0b... 的随机字符串),让攻击者猜不到别人的 id。

  1. 限制注册

校园系统别让任何人随便注册,加上学校邮箱验证或人工审核。

一句话总结

水平越权是 Web 安全中最常见也最容易被忽略的漏洞。对开发者来说,记住一条铁律——

永远别信用户传的 id,用之前先问一句:\"这东西是你的吗?\"

关注三垣网安,学习更多网安技术 

本文基于公开漏洞报告撰写,仅供安全学习与技术科普

Web安全 #水平越权 #IDOR #漏洞科普


评论:0   参与:  0