QQ 移动端访问控制策略小窥

QQ 移动端访问控制策略小窥

起因

今天在学习 SRC 发掘的时候,看到很多介绍文章其实在 Hackone 上就有应用例,然后看到一篇需要权限访问的文章,遂要求登录。

还没有个人账号,于是注册一下,到最后一步得到一个邮箱确认链接:

image

由于是公司电脑,没有装额外通讯软件,遂在手机 click,果不其然被 QQ 拦截了(这个做的真的不行)

image

于是我把链接 copy 到 PC 上,重新访问,结果弹出该链接已经被使用了的页面,并且可以要求 Resend:

image

推测

我顿了一下(柯南 BGM):这个确认链接(token)已经被访问,只有可能是我刚才手机 click 了 button 导致的,也就是发送了请求(request),但是没有收到正确回应(response)。

即 TX 是帮你请求过一次链接的(说好听点是帮你,说不好听就是劫持= =),他拦截的只是响应包。

  • 这样会有两个问题:
  1. 服务端是否是不分情况就去请求了这个链接的,如果换做是其他小公司的服务端这个策略应该是有问题的。
  2. 你是按照什么来判断网站不合规的?证书?白名单?响应包内容?
    如果是证书,很多 http 链接就会被误报;如果是白名单,那么不需要放行请求(request)就可以判断并拦截;如果是响应(response)内容,为什么 Hackone 还是拦了?

image

验证

在朋友(无中生友)的提醒下,发现可以用 dnslog 一试就能验证是否是进行了请求而拦截响应:

image

image

其实我都不用打码,反正一个是 TX 的 ip,一个是电信的移动 ip

结语

也就是小小发现而已,或许还火星了,记录一下
PS:微信现在还没有拦截限制好像,从那个上面倒是可以直接访问链接