/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */
#content_views .toc,
/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */
#content_views.markdown_views > p:empty:has(+ .toc),
#content_views.markdown_views > .toc + p:empty,
/* 富文本旧版目录标记 */
#content_views.htmledit_views #main-toc,
#content_views.htmledit_views #hr-toc,
#content_views.htmledit_views p[id*=\”-toc\”] {
display: none !important;
}
/* 目录去掉后,紧跟的首个标题不再多出一块上边距 */
#content_views.markdown_views > .toc + h1,
#content_views.markdown_views > .toc + h2,
#content_views.markdown_views > .toc + h3,
#content_views.markdown_views > .toc + h4,
#content_views.markdown_views > .toc + p:empty + h1,
#content_views.markdown_views > .toc + p:empty + h2,
#content_views.markdown_views > .toc + p:empty + h3,
#content_views.markdown_views > .toc + p:empty + h4 {
margin-top: 0 !important;
}
前言
在Web安全漏洞中,未授权访问与越权访问属于权限控制类高频高危漏洞,几乎贯穿业务系统前后端开发全流程。这类漏洞本质成因是后端未做好身份校验、权限边界校验,攻击者可绕过登录、越权查看/篡改他人数据,轻则泄露用户隐私,重则导致业务数据被批量篡改、系统后台沦陷。
本文结合渗透实战思维导图思路,完整梳理两类漏洞的原理、探测方法、工具使用、挖掘技巧与防御方案,适合渗透测试入门学习、红队日常打点、开发安全自查使用。

一、漏洞基础概念区分
1. 未授权访问
核心定义:无需登录、无需携带合法身份凭证,就能直接访问本需要权限才能进入的页面、接口、后台功能。
简单理解:本该上锁的门完全没锁,任何人可以直接推门进入。
按照前后端交互形态分为两类:
- 前端未授权:目标为HTML页面、静态页面、管理后台可视化页面
- 后端未授权:目标为JSON数据接口、后台API、数据查询接口
2. 越权漏洞
核心定义:攻击者拥有合法账号登录权限,但权限范围被非法扩大,横向查看其他同级别用户数据(水平越权)、纵向获取管理员权限(垂直越权)。
简单理解:你手里有自家房门钥匙,却能用这把钥匙打开邻居家房门、甚至物业总控房门。
同样划分为前端参数可控越权、后端接口逻辑越权两大挖掘方向。
二、未授权访问漏洞完整挖掘方法论
(一)前端未授权(HTML页面类)
针对网页、后台管理页面、功能页面做未授权绕过探测,三大核心手段:
1. 目录爆破FUZZ
核心思路:在不登录的前提下,暴力枚举网站常见后台路径、管理页面路径,直接访问地址看是否可正常打开。
推荐工具:dirsearch
常用爆破字典:后台路径字典、通用后台地址、编辑器备份文件、git泄露路径、phpinfo探针路径等。
实操要点:目标站点开启缓存、404页面统一跳转时,可通过响应长度、状态码差异化筛选有效路径。
2. 抓包分析返回包特征绕过
登录状态下抓取正常业务数据包,观察响应返回关键字段:
- 响应体包含false、500、deny、forbidden、unauth等拒绝标识;
- 使用Burp Suite批量替换数据包关键参数、Cookie值、Token值,重放请求判断是否可绕过鉴权直接获取页面内容。
3. 前端页面文案线索突破
页面明文提示「禁止访问」「不允许操作」「需要付费解锁」「权限不足」时,大概率只是前端JS做了页面隐藏拦截,后端未做二次校验。
常见绕过方式:
(二)后端未授权(JSON接口类)
这类漏洞不会直接展示页面,而是接口直接返回业务JSON数据,也是接口测试中最容易遗漏的漏洞点。
1. 路由与接口信息搜集
接口来源主要有两处:
2. 功能点定向FUZZ
针对已发现的同目录接口做批量遍历:
例如已知接口/api/user/info,枚举同路径下/api/user/list、/api/user/delete、/api/user/admin等衍生接口,无凭证直接访问测试未授权。
3. 多维度字典爆破
枚举对象分为三类,批量发包测试:
三、越权漏洞分层挖掘实战思路
(一)前端越权
漏洞根源:页面数据由URL参数直接控制,后端仅简单读取参数,未校验该参数归属当前登录用户。
典型场景:个人订单页面地址order.php?id=1001,将id改为1002、1003,即可查看其他用户订单,属于最经典水平越权。
使用工具 ffuf、arjun 自动化枚举URL参数、参数值,批量遍历ID、uid、gid、userid等身份标识,快速批量命中越权数据接口。
(二)后端越权(核心高危)
后端越权校验逻辑更深,需要先定位鉴权凭证位置,再针对性测试。
步骤1:定位鉴权字段携带位置
先确认系统用哪种方式校验用户身份:
- GET请求URL参数携带token、uid;
- POST表单请求体携带账号凭证;
- Cookie内存储Session、身份标识;
- JSON请求体携带Authorization、token、user_id等鉴权字段。
步骤2:基于增删改查四大功能点测试越权
场景1:请求完全不存在鉴权字段
直接手动添加鉴权字段,例如原数据包无userid参数,新增userid=目标用户编号,查看是否可操作他人数据。
场景2:数据包存在鉴权字段但参数为空
例如请求携带uid=空值,手动填入其他用户UID、管理员UID,后端未做非空校验与归属校验,触发垂直/水平越权。
场景3:已有合法鉴权值,直接替换为他人凭证
拿自己账号的Token、Session替换为其他用户凭证,观察接口返回数据,属于典型会话绑定缺失越权。
四、实战渗透测试标准执行流程
五、漏洞成因与安全防御方案
1. 核心漏洞成因
2. 后端开发防御规范
六、工具清单汇总
| 目录未授权扫描 | dirsearch | 网站后台路径、目录爆破 |
| URL参数FUZZ越权 | ffuf、arjun | 自动化枚举参数与参数值 |
| 数据包批量测试 | Burp Suite | 抓包改包、批量重放、自动替换参数 |
| JS接口提取 | LinkFinder、JSFinder | 从JS文件提取隐藏API路由 |
结语
未授权与越权属于入门门槛较低、漏洞产出率极高的权限类漏洞,不需要复杂漏洞利用链,仅依靠信息搜集+数据包修改即可大量发现问题。
渗透测试中建议养成固定思维:能不登录就访问的页面先试一遍未授权;登录低权限账号后,所有参数能改则改、能删则删、能加则加,按照本文思维导图思路系统化遍历测试,就能覆盖绝大多数权限类安全风险。


![[项目] --- 基于 Spring Boot + Redis的多设计模式抽奖系统-171主机测评](https://www.171host.com/wp-content/uploads/2026/11/20261031220757-6ae666bdaa3f5-220x150.png)