存在权限绕过漏洞:直接访问受限路径或api未跳转登录页且返回200及敏感数据,或篡改url参数、hidden字段、cookie、localstorage中的权限标识后获得越权访问。

直接访问需登录才能看到的页面路径(如 /admin/user-list),如果未跳转登录页且能正常加载内容,说明存在权限绕过漏洞。
构造未授权请求绕过前端路由校验
现代单页应用(SPA)常在前端用 JavaScript 控制路由可见性,但后端未校验权限。攻击者可直接发请求绕过所有前端限制。
- 打开浏览器开发者工具 → Network 标签 → 清空记录 → 登录后手动访问一个本该受限的 API,比如
/api/v1/users?role=admin - 若响应返回 200 + 管理员用户列表,而非 401/403,即确认绕过成功
- 注意检查请求头中是否携带了
Authorization或Cookie;尝试删掉它们再重发,看是否仍能访问 - 某些 SPA 会把权限信息藏在 localStorage 或 sessionStorage 中,比如
userRole: "guest",可手动改写为"admin"后刷新页面
测试 URL 参数控制权限的逻辑缺陷
有些系统用 URL 参数隐式传递权限上下文,例如 ?view=manager 或 &scope=internal,这类参数往往未经服务端二次校验。
- 先以普通用户身份访问一个功能页,抓包观察 URL 是否含权限相关参数
- 修改参数值为高权限语义,如把
role=user改成role=admin,或id=1001改成id=1(尝试越权读取主账号) - 留意参数是否被 base64 编码或简单异或混淆,比如
data=QWxhZGRpbjpvcGVuIHNlc2FtZQ==解码后是Aladdin:open sesame,这种弱混淆极易还原 - 若响应返回 200 且数据明显越权(如看到其他用户手机号、订单明细),即确认漏洞存在
检查隐藏表单字段与 Cookie 权限标记
部分老系统将权限状态写死在 HTML 表单或 Cookie 中,服务端仅依赖这些不可信输入做判断。
- 查看页面源码,搜索
hidden字段,重点关注is_admin、access_level、privilege类 name 值,如:<input type="hidden" name="is_admin" value="0"> - 用 Burp Suite 拦截提交请求,把
value="0"改成"1"后放行,观察是否获得管理操作权限 - 检查响应头中的
Set-Cookie,常见危险键名如role=guest、level=1、perms=read;用浏览器插件或开发者工具 Application → Cookies 修改后刷新页面 - 特别注意 Cookie 中是否存在签名缺失或可预测的哈希值,比如
auth=8f4a7e9b&sig=md5(8f4a7e9b+secret),若 secret 泄露或未校验 sig,即可伪造
真正难发现的不是 admin 路径本身,而是那些看似无害的参数组合——比如 /report?format=pdf&debug=true 触发了未公开的调试接口,或 id=123&mode=raw 绕过了数据脱敏逻辑。这类点往往不在常规扫描范围内,必须结合业务流程逐个推演。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











