小程序渗透干货、常见登录绕过Web接口速通与挖掘思路
0x01 简介小程序作为高频业务入口常因接口鉴权缺失、弱口令泛滥、Swagger 文档泄露等问题暗藏安全隐患。本文结合真实渗透案例梳理小程序 Web 接口速通技巧从弱口令登录突破、模糊查询信息泄露到参数越权、未授权访问挖掘再到小程序 Token 复用绕过 Web 后台鉴权完整拆解常见登录绕过与漏洞利用思路为攻防实战提供可复用的挖掘方法与实操路径。现在只对常读和星标的公众号才展示大图推送建议大家把渗透安全HackTwo“设为星标”否则可能就看不到了啦0x02 正文详情很早前GS测试小程序案例基本没有难点都是先有信息联想从而扩大危害形成一个合集分享发出案例从易到难功能点找到接口文档或者Web缺少token反推小程序业务普通用户权限测试账号未删除小程序开局需要登录,登录无次数验证上大字典爆破出一个测试账号弱口令登录一个培训账号开始渗透13888888888123456逐一测试功能点发现查询处理正常无信息通过%模糊查询返回其他系统用户信息那么退出测试账号尝试登录正常用户信息https://xxxxxx/wwyun/manage/vehicle/selectWxVehicle?projectIdlicenseNumber利用拿到的手机号进行爆破登录他人账号密码默认密码均为123456从而任意用户登录共145位用户泄露自身三要素信息不同账号间还有写其他大大小小不同管辖处所泄露不一一记录主要是渗透的思路要连贯hunter对小程序host信息收集web资产因为我们已经有账号了只需要找到可以登录的后台系统后台系统往往比操作业务的小程序漏洞量更多价值更大弱口令成功进入系统后扩大成果方式是配合xia_yue插件移除鉴权字段从而判断未授权数据包在以往发的文章中已有体现这里不过多赘述递归目录下的Swagger小程序遇到可以测试功能点的小程序优先测试可以添加人员信息功能越权和信息泄露往往在其中产生如活动、保修、反馈等。添加活动功能点存在越权infoId参数越权起始id1结束id为108082共计108082份个人信息 姓名电话家庭住址https://xxxxxx/wx/courseadmin/app/activityAdmin/queryMyActivityDetailByIds?id1441infoId1communityId23community%E8%A5%BF%E9%A9%AC%E6%A1%A5%E7%A4%BE%E5%8C%BA保修工单id参数越权等等几处诸如此类的越权不记录https://xxxx/wx/propertyrepair/app/queryRepairInfoById?id231communityId23community%E8%A5%BF%E9%A9%AC%E6%A1%A5%E7%A4%BE%E5%8C%BAOnescan递归扫描到一处swagger提取接口测试或使用插件携带参数怎么方便怎么来https://xxxxxx/wx/propertyrepair/v2/api-docs可惜应该GET POST和正常拼接文档参数测试只有一处接口返回加载信息本以为小程序测试到此为止准备记录获取到的信息转而去web扩大成果但一个小细节引起我的注意https://xxxxx/wx/propertyrepair/web/queryAssigneeByCommunityId?pageNo23pageSize11测试功能点时发现接口前置的第一次均为wx而后续第二层则为其他参数值,入如gwx、communityadmin、propertyrepair我们在propertyrepair参数下递归扫描到了swagger文档那么是否其他参数下也有swagger存在呢验证猜想方式很简单对接口逐层删除直到回显正常200则表示该接口下是存在其他目录的响应404则该接口并不单独存在https://xxxx/wx/gwx/wx/保留gwx后回显200证明此目录下大概率还有东西我们也不知道Swagger版本是多少或者是否存在多个Swagger那么可以再后面拼接swagger-resources它是用于管理和返回Swagger文档的配置资源信息返回了正确的文档路径https://xxxx/wx/gwx/swagger-resources后对小程序所有功能点参数下的Swagger文档进行接口提取后就可以开始fuzz收菜果不其然一片红拎几个记录小程序用户sessionKeyopenId在登录时替换即可任意用户登录https://xxxx/wx/gwx/wx/query/queryWxUserInfoById?id11i k订单信息明文遍历三要素小程序appserct泄露等等漏洞.....后续测试web后台但是存在多次登录验证并且也没有写进动态路由测试前台接口无反馈只得放弃突破Web后台权限复用几个月前一次渗透任务,当时通过接口拼接挖掘多个信息泄露漏洞,GET请求无任何鉴权/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来测试接口GET /order/sale/page/ship?page1size1000POST在测试中我发现除却人员信息外还有关于商品、服装、尺寸等信息结合业务本身就是电商相关前后端分离后端提供服务地址大概率也会被小程序用户端复用。结合此思路不出意外找到了对应公司小程序注册并登录后果然小程序服务地址和web后台接口地址是一致的并且小程序成功获取了用户的Authorization权限字段 接下来的事情就非常ez了带token字段在爆破中重发接口花花绿绿的敏感信息成功二次绕过泄露诸多系统后信息如54w订单信息包含姓名电话家庭住址通过控制页码参数和返回的total字段确认范围及大大小小的泄露不一样记录。0x03 总结小程序渗透主打一个 “捡漏 联想”弱口令爆破破个门模糊查询扒点料Swagger 藏着大惊喜参数越权直接 “偷家” 更绝的是反向操作用小程序 Token 绕 Web 鉴权二次渗透直接收菜全程无复杂操作抓住 “鉴权缺失”“路径递归” 两个小关键点小白也能跟着挖漏洞主打一个轻松拿捏小程序安全漏洞。最后愿各位师傅在后续挖洞之路中精准定位漏洞、高效挖掘天天出高危、次次有收获挖洞顺利、不踩坑、多拿奖励共同提升支付业务安全测试能力喜欢这类文章或挖掘SRC技巧文章师傅可以点赞转发支持一下谢谢