'user-agent' => 'Mozilla/5.0 (Linux; Android 6.0.1; C106 Build/ZAXCNFN5902606201S; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/6.2 TBS/044304 Mobile Safari/537.36 MicroMessenger/6.6.7.1321(0x26060739) NetType/WIFI Language/zh_CN'
这种方法增加了用户的操作,整体流程繁琐了,不知道大家有没有什么好的解决办法。
1
uqf0663 2019-06-20 08:54:30 +08:00
既然 code 都能搞到了,getUserInfo 又有啥难度?
|
3
shoaly 2019-06-20 08:56:27 +08:00
这还挺神奇的, 如何可以批量获取到 code 呢..
|
4
Snailzzz OP @shoaly 我也是很奇怪,这些 Code 都可以在微信 API 中获取到 OpenID,这些 OpenID 还都是不重复的
|
5
csys 2019-06-20 08:59:30 +08:00 via Android
不知道是你语言有问题还是我理解能力有问题
这些接口调用微信小程序内部的 login 方法得到了 Code 你不是已经知道 code 怎么来的了么 |
6
Snailzzz OP @csys 抱歉,我表达有点不清楚,这些 Code 从正常流程来说,是微信小程序的开放方法 Login 获取到的,然后发送给后端,后端拿这个 Code 去微信那里请求获得 OpenID 等信息,但是同时这么多 Code 并且请求项目的后端的 UA 完全一致,小程序统计那里也没有人数的剧增
|
7
uqf0663 2019-06-20 09:03:01 +08:00
@csys 不是,通常这个 code 是用户手动进入小程序 wx.login 时获得的,楼主的意思是对方使用了诸如破解协议之类的手段自动化获取
|
8
leo108 2019-06-20 09:03:19 +08:00
只要羊毛足够大,能调动万把微信号来薅羊毛的黑产多得是
|
10
leo108 2019-06-20 09:05:34 +08:00
|
11
yushiro 2019-06-20 09:05:50 +08:00 via iPhone
我记得微信的文档里面是不建议把 openid 下发给客户端的,如果按照文档这样做,这个批量请求就没有价值了
|
13
miaotaizi 2019-06-20 09:08:24 +08:00 via iPhone
所以手机号什么的还是有必要的
|
16
uqf0663 2019-06-20 09:10:54 +08:00
@shoaly 一点也不神奇,关键词“微信 ipad 协议”“微信安卓协议”有各种成品推广的软文,还有某些免费的试用版,可以自动批量聊天、管理群、加人、发红包抢红包、爬取朋友圈、公众号等各种原本是加密跟各种鉴权的操作。简单总结就是他们通过反编译微信的客户端,然后模拟微信客户端的各种操作。基于此自动获取小程序的 code 也不是啥难事,我猜测小程序的 code 的生成大概有两种可能,一种是本地通过特定的加密方式把一些信息加密,而微信的服务端解密得到这些信息再通过开发者的接口请求返回,另外一种是直接请求微信的服务端得到这个 code。。。无论哪一种看起来破解难度都很低。
|
17
Snailzzz OP @uqf0663 因为我之前接触过 Ipad/安卓 X 议,所以我感觉这是唯一一种可能了,我只是也是感觉 getUserInfo 相对于获取 Code 难度更高点而已
|
18
uqf0663 2019-06-20 09:15:44 +08:00
@Snailzzz 如果是使用触控精灵之类的东西实现的,小程序统计肯定有数据,如果小程序统计那里也没有人数的剧增,那 100%就是破解协议了。
|
21
johz 2019-06-20 09:40:51 +08:00
很正常,微信官方爬虫
|
22
hnch201414 2019-06-20 09:41:54 +08:00
加个验证码的操作吧~
|
23
dove1011 2019-06-20 10:00:59 +08:00
可能是微信官方爬虫
|
24
Felldeadbird 2019-06-20 10:14:24 +08:00
按楼主的说法,code 都验证过,UA 一致。应该是被羊毛党盯上了吧。 试下统计 UA,短时间统一台 UA 要求机器人识别。
|
25
Lax 2019-06-20 10:56:03 +08:00
既然是小程序,UA 全都是微信浏览器不是挺正常的吗?
|
26
z0ne 2019-06-20 13:18:42 +08:00
检查一下你的小程序调用的第三方 sdk 或者库的安全性。。
目前我的 sdk 都是放 github 上开源的,就是为了让开发者用的安心。 有的黑心 sdk 还是压缩混淆加密的,就是为了暗地里做些勾当。。 比如楼主这种情况,如果是第三方库,可以随时获取服务端的命令(获取 code )然后发送回服务端,这样对方就有了大量的 code~~ |
29
php01 2019-06-20 21:11:12 +08:00
我怀疑你的的 code 或者 openid 下发到客户端了。又或者是员工测试暴露了,或者是数据库已经被人拿了
|
31
AbrahamGreyson 2019-07-16 03:25:35 +08:00
@Snailzzz 后续怎么样了,十分关注这件事,最终是如何防刷的。
|
32
Snailzzz OP @AbrahamGreyson 最终我们加上了授权登录 可以验证一下 官方态度一直很消极 最终也没有提出解决办法
|
33
mrvv 2019-08-17 20:15:25 +08:00 via iPhone
找到原因了吗,我很想知道伪造 code 是否存在
|
35
mrvv 2019-08-18 21:17:21 +08:00 via iPhone
那你知不知道 code 产生的请求方法,按理说一个真实的微信才会产生一个真实的 code 啊
|