Monday 8 November 2021

知乎 - "我们检测到您此次登录异常,请您进行安全验证" 的 bug

近两天知乎的每新打开一页都会出现 "我们检测到您此次登录异常,请您进行安全验证" 对话框。(截图注: www2 只是测试, www 一样):


输入手机验证,对话框关闭,但打开新一页或点击 "查看全部 xxx 答案" 都会重复出现该验证对话框。不验证直接 X 关闭对话框也行,不过重复出现很烦。

后来察觉专栏 zhuanlan.zhihu.com 没对话框,就想到换其它 subdomain 可能可以。

google 递减法 找到 https://www-quic.zhihu.com/ (开头的 400 页面可以 Ctrl+F5 刷新) 是可以 bypass 对话框且浏览主页的。

即 `site:zhihu.com -"www.zhihu.com" -"zhuanlan.zhihu.com" -"www2.zhihu.com" -"s.zhihu.com" -"daily.zhihu.com"`:


反而 infoscan 扫描到很多却没 www-quic。

写了一个简单的火狐 add-on 重定向 www 去 www-quic:

`web-ext sign` 把 add-on 给自己私人用有问题 (不懂是不是没 web-ext build 先):



(吐槽一下 web-ext 每次 timeout 错误后,以为失败却出现在 Firefox Developers Hub 的 " My Submissions" list ,有点辣眼睛, 又无法删除的) :


所以就干脆 submit 真的 add-on:

然后继续研究。我之前为了研究一个东西而有了新手机号码,就测试一下来比较 Cookie 有什么特别区别。发现无法注册,这么多 bug 是什么鬼。也不是只有我一个有这个问题:




不过我还有 gmail (后来才察觉错误的账号是 gmail + 手机号码, 另一个是手机号码而已) 是可以登入的,用 gmail vs 手机号码 Cookie 也可以。

可是我想到一件事, gmail 登入有问题也是要手机验证什么的(知乎一路来很注重手机号码),岂不是两个账号都同一个手机号码,会不会因此 sot 了?

看设置果然如此,都是绑定同一个手机号码。我把有问题的账号绑定新手机号码,错误对话框真的消失了,重登入也是没问题。



这个 bug 估计是因为 gmail 账号 A 错误信息请求手机验证时, 我输入后却 act as 同一个手机号码的另一个账号 B 验证, 因此永远都会有验证对话框 囧。

如同你用同一个手机号码, 登入后的账号只能选一个, 不可能同时登入两个账号。

至于当初我是怎么弄到绑定同一个手机号码,忘了。