V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
工单节点使用指南
• 请用平和的语言准确描述你所遇到的问题
• 厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
• 如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
paicha

通过 QQ 客户端登录 Web 邮箱的身份认证漏洞

  •  
  •   paicha ·
    PRO
    · Jun 12, 2017 · 5679 views
    This topic created in 3242 days ago, the information mentioned may be changed or developed.

    macOS 重现步骤:

    打开 QQ,进入应用 tab,点击 QQ 邮箱,这时候会打开浏览器访问一个 HTTP 地址:

    http://ptlogin2.qq.com/qqmail?Fun=clientlogin&clientuin=xxxx&clientkey=xxxx&ptlang=xx&keyindex=xx
    

    在跳转到邮箱前,拷贝这个地址,退出 QQ 客户端,在 Chrome 隐身窗口打开上述地址,成功登录邮箱。

    https://twitter.com/yurii_yu/status/873225250955120640

    28 replies    2017-06-13 18:51:57 +08:00
    Citrus
        1
    Citrus  
       Jun 12, 2017 via iPhone
    你这跟把 Cookie 复制出来说有登陆漏洞有啥本质区别?
    paicha
        2
    paicha  
    OP
    PRO
       Jun 12, 2017
    @Citrus #1 那你会把 Cookie 编码在 URL 中吗?
    oh
        3
    oh  
       Jun 12, 2017 via iPhone
    几年前 Windows 上有过这个“漏洞”,后来腾讯修复了。
    我觉得这个在一定程度上也可以算是漏洞,这个 url 应该是一次性的,第二次访问不能登录才对。
    airycanon
        4
    airycanon  
       Jun 12, 2017
    @Citrus 不一样吧,他说的是退出 QQ 客户端之后,我的理解是用户已经注销了。
    also24
        5
    also24  
       Jun 12, 2017
    一开始我觉得有 “ QQ 邮箱独立密码” 存在,不以为然。

    直到自己测试了下,发现:
    1、这个链接是 http 的
    2、即使不输入独立密码,此时也已经在网页上登录了 QQ 帐号,可以访问其它业务(例如 qun.qq.com
    3、不止邮箱,空间按钮也是这样的

    这就相当的不安全了,去星巴克开个热点,分分钟一堆内部文件到手啊。
    nikoo
        6
    nikoo  
       Jun 12, 2017
    好奇这个漏洞的解决方案是?(一次性 URL 授权访问也并不比这个好多少吧)
    oh
        7
    oh  
       Jun 12, 2017 via iPhone
    @also24 这个 idea 不错!正好星巴克 mac 多!
    miyuki
        8
    miyuki  
       Jun 12, 2017 via Android
    说个有的没的

    我记得如果 QQ 客户端获取的 IP 和浏览器的 IP 不一致会要求重新登录,比如浏览器挂了个代理,登录 QQ 邮箱就会要求重新输入帐户密码
    mrjoel
        9
    mrjoel  
       Jun 12, 2017 via iPhone
    原来是这样修复的,以前一个 sid 可几处同时登陆,现在只是加了两层 key
    MrMario
        10
    MrMario  
       Jun 12, 2017 via iPhone
    腾讯的神 key,一个 key 可以登录大部分通用,这个问题存在很久了,搞劫持、小广告的很喜欢玩这个

    前段时间试了下 key 有实效时间限制,没发现实效次数限制
    anyclue
        11
    anyclue  
       Jun 12, 2017
    不明白这怎么就算个漏洞了,如果算的话这个漏洞怎么利用呢?
    also24
        12
    also24  
       Jun 12, 2017
    @nikoo #6
    如果保持当前把 key 写进 URL 的形式,那至少链接上 https 并启用 HSTS

    另一方面目前 macQQ 明明通过内置 web server 直接支持了快捷登录: http://localhost.ptlogin2.qq.com:4300
    那邮箱的验证按理来说也是可以走这个通道的。
    KomeijiSatori
        13
    KomeijiSatori  
       Jun 12, 2017
    之前报过一个类似的,可是官方回复好像不太重视...

    ![深度截图 20170612132503.png]( https://ooo.0o0.ooo/2017/06/12/593e25c599050.png)
    aksoft
        14
    aksoft  
       Jun 12, 2017
    我去开热点
    makendk
        15
    makendk  
       Jun 12, 2017 via Android
    @paicha 记得 09 年的时候就通过这样的方式看加密的 QQ 空间 这不算漏洞吧 腾讯好多从 QQ 面板上进入的业务 都有这样的 KEY 以前好像是 sid
    longr923
        16
    longr923  
       Jun 12, 2017
    get ???
    bombless
        17
    bombless  
       Jun 12, 2017
    这个其实就和短信发验证码给你让你登陆差不多……
    确实是系统的一个弱点,但是不是缺陷就不好说了

    以前 2009 年左右曾经 qq 邮箱的超大附件不错,有一个管理超大附件的工具就用这个串来访问 qq 邮箱的接口
    qile1
        18
    qile1  
       Jun 12, 2017 via Android
    截取 key,web+登录空间发表广告及色情内容,在使用 web qq 群发病毒 app,我有个号就这样被搞过
    doubleflower
        19
    doubleflower  
       Jun 12, 2017 via Android
    @anyclue 明文 http 啊!分分钟被同网络别人搞到登入你的邮箱。。
    580a388da131
        20
    580a388da131  
       Jun 12, 2017
    这个有效期挺短的
    jarlyyn
        21
    jarlyyn  
       Jun 12, 2017
    @paicha

    php 的 session 本来就能加在 url 里

    http://php.net/manual/zh/session.idpassing.php
    popok
        22
    popok  
       Jun 12, 2017
    这个问题最早可以追溯到我上初中那会,也就是 04 年的样子,当时腾讯的很多业务都能用这种 url 登陆,那时候还有人骗别人发这种 url 给自己。

    后来腾讯解决了这个问题
    paicha
        23
    paicha  
    OP
    PRO
       Jun 12, 2017
    @jarlyyn #21 能并不代表应该这么做。云风在 Twitter 上的回复也已经够清楚了,不再累述。
    lslqtz
        24
    lslqtz  
       Jun 12, 2017
    加个 https 解决。。
    honeycomb
        25
    honeycomb  
       Jun 12, 2017 via Android
    这样的链接应当强制使用 HTTPS,并且只能使用一次
    mingyun
        26
    mingyun  
       Jun 12, 2017
    php 的 session 默认在 cookie,也可以在 url 上
    lesloli
        27
    lesloli  
       Jun 13, 2017
    我有一个大胆的想法
    Devmingwang
        28
    Devmingwang  
       Jun 13, 2017
    这个 Bug 是没有的,你换个浏览器你会发现其实不行。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5837 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 151ms · UTC 03:08 · PVG 11:08 · LAX 20:08 · JFK 23:08
    ♥ Do have faith in what you're doing.