论坛首页 移动安全专区 阅读主题

[原创]快递 100 小程序接口安全分析笔记

55 浏览 0 回复
#1 楼主 2026-06-01 21:09:07
接口:GET /apicenter/kdquerytools.do?method=userinfo4queryresult请求方法:GET关键参数:num=YT886***5838——业务参数openid=ocNgX***PkZE——微信用户的唯一标识,同一个用户在不同的程序下都不一样,长期有效Token=XC6428***dde6_V2——鉴权令牌platform=WEIXINAPP——客户端标识apiversion=28——接口版本号修改前的:修改后:3.3.1全量剥离测试(验证鉴权是否强制)方法:URL 参数:删除 Token、ssotoken、logintoken、Openid、unionidHeaders:删除 Openid:、Token:结果:返回200 OK,data字段为null结论:3.3.2令牌篡改测试(验证token检验的严格性)方法:修改以下两处为无效值:URL 参数 Token=12345Header Token: 12345结果:分析:通过截图可以看到,修改后返回的仍是详细信息。但我仅修改了 Token,还存在另外两个有效凭证:分析:快递 100 的后端逻辑是“只要有任意一个有效的凭证(ssotoken 或 logintoken)就放行”,而忽略了被改坏的 Token 参数。
删除这两个参数后,返回的仍是详细信息,猜测服务端可能仅认 Openid(因其难以伪造)。验证想法:删除 URL 和 Header 中的 Openid 参数,结果如下:data 返回 null。但这不能直接说明 Openid 是鉴权核心,因为此时 Token 是无效的。删除所有 Token 相关参数,仅保留 Openid,结果如下:删除所有 Openid 并保留正确的 Token:返回详细信息。结论:后端采用“或(OR)”逻辑,只要任意一个凭证有效即放行,缺乏双因子绑定校验。方法:每次只删除一个参数,其他保持不变:删除 platform结论:平台标识未校验删除 apiversion


登录后可查看完整内容

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-291051.htm

暂无回复,快来抢沙发吧!

请登录后参与讨论

立即登录 注册账号