最近在写一个小程序爬虫,但 token 一小时就过期了,希望实现自动获取 token 功能。抓包发现获取 token 的 post 中有下面这些参数:
{
"code": "061DUBm620Tz8S0Oq5q62GdFm62DUBmh",
"appid": "wxf8e9886ac9480eba",
"sign": "c2b542186ec81e639fb638599949cc76",
"nonceStr": "d52uu1kuwqe22wj6fa3h1eh",
"stm": 1568651077913
}
加密方式为字符串拼接 md5 加密,字符串拼接函数需要传入三个参数:{"code":"061DUBm620Tz8S0Oq5q62GdFm62DUBmh","appid": "wxf8e9886ac9480eba",},公钥,上一次的 token ;
用抓到的数据测试过最后加密结果是对的,nonceStr 生成和时间戳都已经解决,appid 可以写死,就是 code 不太清楚是否可以模拟生成,测试发现写死仍然无法返回新的 token,源码里 code 相关代码如下:
default.wxLogin({
method:
"post",
query: {
code: g.code,
appid: (0, m.MINI_APP_INFO)().miniAppId
}
});
抓了几个 code 发现首尾有一点点相似
061bXNmv0Yfcti14YUpv0BkGmv0bXNmW
061DUBm620Tz8S0Oq5q62GdFm62DUBmh
071eoBRe2vLbvI0AlOOe2txzRe2eoBR8
请教下各位大大这个 code 是否可破之,感谢!
1
lhx2008 2019-09-17 07:53:30 +08:00 via Android
你看一下小程序的登录机制,登录的时候,小程序生成一个和用户有关的唯一码 appid,发给服务器,服务器再拿 appid 和 token 去微信服务器拿一个临时的 code,然后服务器可以考虑做或者不做处理
|
2
lhx2008 2019-09-17 07:54:52 +08:00 via Android
名词我有点忘了,可能有点混乱
|
3
guansixu 2019-09-17 08:40:29 +08:00
没办法伪造,调用的微信小程序的登录 API
|
4
silverbooker 2019-09-17 12:01:19 +08:00
你说的这个 code 是 wx.login() 方法生成的 code 吧。理论上是没办法破的,你找找相关资料试试吧。
参考: https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.login.html https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html |
5
Arabot9 OP @silverbooker 不破解的话 有接口可以访问获取吗
|
7
yc97 2019-09-30 14:28:50 +08:00 via iPhone
需要传入第三个参数 第一个 e.data 大佬是如何知道是这个的 求解
|
11
codererrr 2020-04-15 22:59:28 +08:00
解决了吗
|
13
douleL 2021-01-05 14:22:23 +08:00
请问 nonceStr 和 sign 是什么规则生成的
|
14
douleL 2021-01-05 15:50:18 +08:00
某搏小程序你进展到哪步了吗
|