SRC实战| 如何优雅的利用路由调用发现隐藏API接口
FreeBuf.COM
2024-08-07 19:22:44
收藏
概述
在当今的Web应用安全领域,小程序和Vue等前端框架的普及为安全测试带来了新的挑战和机遇。这些技术虽然提高了开发效率和用户体验,但也可能引入新的安全漏洞。本文将探讨如何利用小程序和Vue框架中的路由机制来进行安全测试,特别关注通过路由调用发现潜在漏洞的方法。
我们将首先简要介绍小程序和Vue框架中路由的工作原理,然后深入分析在安全测试中如何利用这些路由机制调用隐藏API去发现漏洞,主要介绍一下笔者的思路,欢迎大家一体讨论学习(注: 由于是实战,需要做了必要的脱敏处理)
javascript vue框架调用路由
主要使用 this.$router 查看所有路由
- 下断点的位置,最好找到this.$router.push 全局搜索
- 找几个下个断点,最好关注url中的跳转或者网络中的链接
- 点击发现可能会触发断点,可以先放一下
- 在控制台使用 this.$router查看js中的所有路由,会发现存在多个主路由
this.$router
主路由
子路由,已/order为例,记住格式 name: 'other.index',
- 调用 name: "other.jydQrcode" 路由
this.$router.push({
name: 'other.jydQrcode',
})
成功调用了
- 发现其他隐藏的路由,存在SQL注入漏洞和短信轰炸
SQL注入
短信轰炸
小程序调用路由
微信搜索一个小程序,使用DevTools 进入开发者模式
- 打开小程序,查看Sources文件
- 点击一个功能点,保单功能点,查看devtools中network是否有网络链接,之后全局搜索core/api/ykym/order/policy/list ,打断点
- 发现会正常暂停到这个地方,输入 wx 查看是否有相关方法,存在则放开断点
- 这时候就可以使用 wx.navigateTo方法调用其他隐藏的接口和路由了
也有一些其他方法可查询,首选wx.navigateTo()方法
- __wxRoute
样式:
wx.navigateTo({
url: 'test?id=1'
})
使用接口构造漏洞
输入相关函数调用wx.navigateTo,这样可以发现一些其他接口通过构造数据完成界面跳转和提交数据
wx.navigateTo({
url: "/newpages/provisiondetail/index?id=".concat("1''")
})
# xss
已在FreeBuf发表 0 篇文章
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022