fiteen.github.io icon indicating copy to clipboard operation
fiteen.github.io copied to clipboard

九价那个微信授权的问题是否可以通过Chrome DevTools来解决?

Open oneone1995 opened this issue 5 years ago • 3 comments

因为找不到您博客的评论区...只好来GitHub提issue了。关于九价那篇中提到的微信授权问题,今天我也碰到了...因为我不是做前端开发的,对这块不了解也,在微信官方文档上看了一下感觉可以通过chrome devtooles的方式来解决,您觉得是否可行

oneone1995 avatar Jan 15 '20 07:01 oneone1995

@oneone1995 Chrome DevTools 只是一个开发者工具,帮助我们调试代码,当然 JS 是可以通过它来注入的。但是现在抢疫苗用的问卷基本上都要要求在微信里登录授权过才行,所以重点还是在于如何破解微信 OAuth2 授权。所以要解决这个问题,我考虑的是有这么两种方向:

  • 找到一键模拟授权的方案
  • 直接往微信的内置浏览器里注入了 JS

关于第一条,我今天又试了一下,模拟授权过程,Charles 可以抓到一条形如这个的请求:

https://open.weixin.qq.com/connect/oauth2/authorize?appid={APP_ID}&redirect_uri={REDIRECT_URL}&response_type=code&scope=snsapi_userinfo&state=sojump#wechat_redirect

你可以在这份问卷上模拟授权,然后自己抓包试一下,拿到 APP_ID。我尝试的结果是:微信上打开这个网址是可以跳过弹窗直接授权的,但是在微信开发者工具上打开这条链接却是失败的(估计还是和白名单有关)。

关于第二条,如果无法借助工具(比如谷歌浏览器、微信开发者工具)打开强制微信授权的网页,也许就要在微信 App 里授权,然后再想办法直接往微信的内置浏览器里注入了 JS,这个应该就涉及到微信 App 安全性的问题了,目前我也没有解决方案(也许越狱版的可以实现,但是据说会被封号,不敢尝试)。

fiteen avatar Feb 01 '20 16:02 fiteen

@fiteen 感谢回复。

  1. chrome devtool看起来也可以执行js。。。不清楚能不能注入,过会我去试一下
  2. 关于你说的第二条方案,我看了GitHub上的支付宝蚂蚁森林自动收取能量的方案,基于Auto.js实现。或许可行

oneone1995 avatar Feb 03 '20 02:02 oneone1995

@oneone1995 👍 这个方向不错,Auto.js 方案看起来是可行的,这让我想到了App 的 UI 自动化测试,也许利用 Appium 也是可以实现的。

fiteen avatar Feb 03 '20 09:02 fiteen