找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

757

积分

0

好友

95

主题
发表于 5 天前 | 查看: 17| 回复: 0

本文内容仅用于技术研究与讨论,严禁用于任何非法用途。

在一次安全演练中,笔者遇到了一个颇具启发性的案例。整个过程围绕着对一套基于 Vue 开发的前端应用进行安全测试而展开,最终成功发现并利用了其后台接口的未授权访问漏洞。

目标发现与初步探查

与许多Web应用一样,本次测试通常以登录界面作为起点。目标系统展现了一个标准的登录窗口,输入账号、密码及验证码后方可进入。

Vue应用登录界面

通过指纹识别,初步判断该站点前端基于Vue.js构建。对于前后端分离的应用,测试重点往往会向API接口倾斜。在页面资源中寻找蛛丝马迹时,我们发现了一些可疑的接口路径。

页面中发现的管理接口列表

列表中诸如 /dispatchable/chuexamine/dispatchable/list 等路径,从命名上看很可能对应后台管理功能。这类路径如果缺乏有效的访问控制,就可能存在未授权访问风险。

工具辅助:挖掘Vue路由

为了更系统地分析Vue应用的路由结构,我们使用了专门针对Vue的辅助工具 Vue Crack。这款工具能够自动识别Vue应用,并解析其路由配置,有时能暴露出一些未在页面明显位置展示的路径。

工具地址https://github.com/Ad1euDa1e/VueCrack

使用VueCrack工具解析出的完整路由列表

通过工具,我们获得了应用的所有前端路由,例如 /#/home/#/dataManage/#/dataView 等。我们随机选取了其中一个数据管理相关的路由(如 /#/dataManage)直接进行访问。

突破点:前端路由的未授权访问

令人意外的是,在没有登录的情况下,我们竟然直接进入了数据管理页面。这说明该前端路由本身未设置有效的路由守卫进行权限校验。

未授权访问到的数据采集列表页面

更关键的是,页面上的功能点似乎同样缺乏鉴权。我们尝试点击了“查询”按钮,系统竟然直接返回了查询结果,列表显示了大量的数据记录,总量达数千条。

查询功能返回的数据详情列表

这强烈暗示着,不仅仅是前端路由,其后端接口可能也存在严重的未授权访问问题。一个功能点无鉴权,往往意味着整个系统的权限控制体系可能存在缺陷。

深入分析:定位后端API接口

既然存在未授权访问的前端功能,其调用的后端接口自然是下一步的测试重点。我们重新审视页面源码,通过开发者工具进行搜索。

在源代码中,我们发现了明确的API调用证据。一段JavaScript代码清晰地展示了多个以 X.post 方法发起的请求,其URL均指向 /api 路径下的各个端点,例如 /api/company/list/api/ble/list 等。

前端源码中发现的API接口调用代码

这里有一个重要细节:所有后端接口都统一使用了 /api 作为前缀。这是前后端分离架构中常见的路由前缀挂载机制。因此,在实际测试接口时,必须确保URL路径的完整性。

为了验证,我们抓取了之前点击查询功能时发出的网络请求。

查询功能发出的实际API请求包

抓包证实,请求确实发往 /api/examine-mobile/list,方式为POST。这为我们后续的接口模糊测试提供了准确的模板和基础URL。

漏洞利用:大规模未授权数据泄露

基于已发现的接口规律,我们构造了一个简单的字典,对 /api/ 前缀下的其他疑似接口(如之前源码中看到的 company/listble/list 等)进行模糊测试。

对多个API接口进行模糊测试的结果

测试结果显示,大量接口在未授权状态下返回了200状态码和有效数据,证实了大规模的接口未授权访问漏洞。

在测试过程中,我们还发现了一个更有趣的细节。回到最初的 /api/examine-mobile/list 查询接口,其原始请求包携带了诸如 pagesize 等分页参数。

携带分页参数的原始API请求与响应

当我们尝试“精简”这个请求,将所有这些参数全部删除,只保留最基本的POST请求体和 /api/examine-mobile/list 路径时,意想不到的情况发生了。

删除请求参数后,接口返回海量数据的截图

接口没有报错,反而返回了远超单页数量的数据——一次性泄露了超过18万条完整记录。这很可能是因为后端接口在处理请求时,默认参数失效或逻辑缺陷,导致在没有分页限制的情况下输出了全部数据。

总结与反思

本次测试案例清晰地展示了一个由前端Vue路由守卫缺失,延伸到后端API接口全面鉴权失效的完整漏洞链。攻击者无需任何凭证,即可遍历前端页面,并直接调用后端接口,甚至通过操纵请求参数获取远超预期的海量敏感数据。

这类漏洞的危害性极大,它不再是单一功能点的沦陷,而是整个业务数据面对未授权访问的“裸奔”。对于开发人员而言,必须在前后端均实施严格、统一的权限校验机制。前端路由守卫不能替代后端的接口鉴权,二者需要协同工作,构成纵深防御体系。

对于安全研究人员而言,在 渗透测试 中,对现代前后端分离应用(尤其是Vue、React等框架)的测试思路需要与时俱进。除了关注传统的SQL注入、XSS等漏洞,更应深入理解其架构特点,从路由、接口、状态管理等多个维度寻找安全突破口。欢迎在 云栈社区 与更多开发者交流Web安全防护的最佳实践。




上一篇:大模型RL Infra拆解:从GRPO算法到verl训练框架的演进
下一篇:吴恩达新课:文档AI从OCR到智能提取,构建PDF信息自动处理工作流
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-24 02:48 , Processed in 0.324215 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表