小程序Web接口速通案例
很早前GS测试小程序案例,基本没有难点都是先有信息联想从而扩大危害形成一个合集分享发出,案例从易到难,功能点找到接口文档或者Web缺少token反推小程序业务普通用户权限
> 很早前GS测试小程序案例,基本没有难点都是先有信息联想从而扩大危害形成一个合集分享发出,案例从易到难,功能点找到接口文档或者Web缺少token反推小程序业务普通用户权限 **未经同意请勿转载搬运** ### 测试账号未删除 小程序开局需要登录,登录无次数验证上大字典爆破出一个测试账号弱口令登录一个培训账号开始渗透 ```php 13888888888 123456 ```  逐一测试功能点发现查询处理正常无信息,通过`%`模糊查询返回其他系统用户信息,那么退出测试账号尝试登录正常用户信息 ```php https://xxxxxx/wwyun/manage/vehicle/selectWxVehicle?projectId=&licenseNumber= ```   利用拿到的手机号进行爆破登录他人账号密码,默认密码均为`123456`从而任意用户登录共`145`位用户泄露自身三要素信息   不同账号间还有写其他大大小小不同管辖处所泄露,不一一记录主要是渗透的思路要连贯  `hunter`对小程序`host`信息收集`web`资产,因为我们已经有账号了只需要找到可以登录的后台系统,后台系统往往比操作业务的小程序漏洞量更多价值更大  弱口令成功进入系统后扩大成果方式是配合`xia_yue`插件移除鉴权字段从而判断未授权数据包,在以往发的文章中已有体现这里不过多赘述   ### 递归目录下的Swagger 小程序遇到可以测试功能点的小程序优先测试可以添加人员信息功能,越权和信息泄露往往在其中产生,如活动、保修、反馈等。  添加活动功能点存在越权`infoId`参数越权起始`id1` 结束`id`为`108082` 共计`108082`份个人信息 姓名电话家庭住址 ```php https://xxxxxx/wx/courseadmin/app/activityAdmin/queryMyActivityDetailByIds?id=1441&infoId=1&communityId=23&community=%E8%A5%BF%E9%A9%AC%E6%A1%A5%E7%A4%BE%E5%8C%BA ```   保修工单`id`参数越权,等等几处诸如此类的越权不记录 ```php https://xxxx/wx/propertyrepair/app/queryRepairInfoById?id=231&communityId=23&community=%E8%A5%BF%E9%A9%AC%E6%A1%A5%E7%A4%BE%E5%8C%BA ```   `Onescan`递归扫描到一处`swagger`提取接口测试或使用插件携带参数怎么方便怎么来 ```php https://xxxxxx/wx/propertyrepair/v2/api-docs ```  可惜应该`GET POST`和正常拼接文档参数测试只有一处接口返回加载信息,本以为小程序测试到此为止准备记录获取到的信息转而去`web`扩大成果,但一个小细节引起我的注意 ```php https://xxxxx/wx/propertyrepair/web/queryAssigneeByCommunityId?pageNo=23&pageSize=11 ```  测试功能点时发现接口前置的第一次均为`wx` 而后续第二层则为其他参数值,入如`gwx` 、`communityadmin`、`propertyrepair`,我们在`propertyrepair`参数下递归扫描到了`swagger`文档那么是否其他参数下也有`swagger`存在呢?    验证猜想方式很简单,对接口逐层删除直到回显正常`200`则表示该接口下是存在其他目录的,响应`404`则该接口并不单独存在 ```php https://xxxx/wx/gwx/wx/ ```  保留`gwx`后回显200证明此目录下大概率还有东西,我们也不知道`Swagger`版本是多少或者是否存在多个`Swagger` 那么可以再后面拼接 `swagger-resources`,它是用于管理和返回 `Swagger` 文档的配置资源信息,返回了正确的文档路径 ```php https://xxxx/wx/gwx/swagger-resources ```    后对小程序所有功能点参数下的`Swagger`文档进行接口提取后就可以开始`fuzz` 收菜,果不其然一片红,拎几个记录  小程序用户`sessionKey`+`openId` 在登录时替换即可任意用户登录 ```php https://xxxx/wx/gwx/wx/query/queryWxUserInfoById?id=11i k ```  订单信息  明文遍历三要素  小程序`appserct`泄露等等漏洞.....  后续测试`web`后台但是存在多次登录验证,并且也没有写进动态路由,测试前台接口无反馈只得放弃突破  ### Web后台权限复用 几个月前一次渗透任务,当时通过接口拼接挖掘多个信息泄露漏洞,`GET`请求无任何鉴权 ```php /order/shipments/shipmentOrder/export /order/yayingSale/ /order/sale/page/ship /order/sale/listSaleOrderByIds /admin/user-distributor/user/list /admin/user-distributor/selectSysUserDistributorPage ...... ```    后续漏洞上报后过了一段时间复测漏洞接口已经全部修复,增加了鉴权代码(列出部分),常规的`GET POST` 无法直接调用,但是呢既然开发重构了代码必然会有新的逻辑接口问题产生,于是针对此网站又进行了二次渗透   前后端分离站点,将雪瞳插件捕获到的相对路径绝对路径全部复制到一处文本进行处理,绝对路径是完整的,但是相对路径捕获前置大多会带有`../` 全选替换为空,再将一些带参数的请求添加值并删除一些无用符合接口   随意输入账号密码抓取一个登录数据包并无前置目录那么使用`intruder`先测试`GET`请求爆破  排序长度并没有出现数据特别大的接口,未修复前`GET`请求跑就可以全部泄露那么再次尝试余下`3`种接口`fuzz`方式,信息量依旧非常少,这时转变思路以往我都会尝试小程序打`web`后台,那么反向来看`web`目前无权限是否可以尝试用小程序`token`来测试接口  ```php GET /order/sale/page/ship?page=1&size=1000 POST ```    在测试中我发现除却人员信息外还有关于商品、服装、尺寸等信息,结合业务本身就是电商相关+前后端分离,后端提供服务地址大概率也会被小程序用户端复用。结合此思路不出意外找到了对应公司小程序  注册并登录后果然小程序服务地址和`web`后台接口地址是一致的,并且小程序成功获取了用户的`Authorization`权限字段 接下来的事情就非常`ez`了  带`token`字段在爆破中重发接口花花绿绿的敏感信息,成功二次绕过泄露诸多系统后信息  如`54w` 订单信息包含姓名电话家庭住址,通过控制页码参数和返回的`total`字段确认范围,及大大小小的泄露不一样记录。   
发表于 2026-03-26 09:52:12
阅读 ( 1323 )
分类:
渗透测试
7 推荐
收藏
0 条评论
一天要喝八杯水
大厂螺丝工
6 篇文章
×
温馨提示
您当前没有「奇安信攻防社区」的账号,注册后可获取更多的使用权限。
×
温馨提示
您当前没有「奇安信攻防社区」的账号,注册后可获取更多的使用权限。
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!