SRC实战| 如何优雅的利用路由调用发现隐藏API接口

概述

在当今的Web应用安全领域,小程序和Vue等前端框架的普及为安全测试带来了新的挑战和机遇。这些技术虽然提高了开发效率和用户体验,但也可能引入新的安全漏洞。本文将探讨如何利用小程序和Vue框架中的路由机制来进行安全测试,特别关注通过路由调用发现潜在漏洞的方法。

我们将首先简要介绍小程序和Vue框架中路由的工作原理,然后深入分析在安全测试中如何利用这些路由机制调用隐藏API去发现漏洞,主要介绍一下笔者的思路,欢迎大家一体讨论学习(注: 由于是实战,需要做了必要的脱敏处理)

javascript vue框架调用路由

主要使用 this.$router 查看所有路由


  1. 下断点的位置,最好找到this.$router.push 全局搜索

  1. 找几个下个断点,最好关注url中的跳转或者网络中的链接

  1. 点击发现可能会触发断点,可以先放一下

  1. 在控制台使用 this.$router查看js中的所有路由,会发现存在多个主路由
this.$router

主路由

子路由,已/order为例,记住格式 name: 'other.index',

  1. 调用 name: "other.jydQrcode" 路由
this.$router.push({
                    name: 'other.jydQrcode',
                    })

成功调用了

  1. 发现其他隐藏的路由,存在SQL注入漏洞和短信轰炸

SQL注入

短信轰炸

小程序调用路由


微信搜索一个小程序,使用DevTools 进入开发者模式

  1. 打开小程序,查看Sources文件

  1. 点击一个功能点,保单功能点,查看devtools中network是否有网络链接,之后全局搜索core/api/ykym/order/policy/list ,打断点

  1. 发现会正常暂停到这个地方,输入 wx 查看是否有相关方法,存在则放开断点

  1. 这时候就可以使用 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
原始链接: https://www.freebuf.com/articles/web/407747.html
侵权请联系站方: [email protected]

相关推荐

换一批