通过 QQ 客户端登录 Web 邮箱的身份认证漏洞 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
工单节点使用指南
请用平和的语言准确描述你所遇到的问题
厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
paicha
V2EX    全球工单系统

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

  •  
  •   paicha
    PRO
    2017-06-12 12:04:44 +08:00 5516 次点击
    这是一个创建于 3121 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

    php 的 session 本来就能加在 url 里

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

    后来腾讯解决了这个问题
    paicha
        23
    paicha  
    OP
    PRO
       2017-06-12 15:02:01 +08:00
    @jarlyyn #21 能并不代表应该这么做。云风在 Twitter 上的回复也已经够清楚了,不再累述。
    lslqtz
        24
    lslqtz  
       2017-06-12 17:20:44 +08:00
    加个 https 解决。。
    honeycomb
        25
    honeycomb  
       2017-06-12 17:25:19 +08:00 via Android
    这样的链接应当强制使用 HTTPS,并且只能使用一次
    mingyun
        26
    mingyun  
       2017-06-12 23:01:30 +08:00
    php 的 session 默认在 cookie,也可以在 url 上
    lesloli
        27
    lesloli  
       2017-06-13 10:54:49 +08:00
    我有一个大胆的想法
    Devmingwang
        28
    Devmingwang  
       2017-06-13 18:51:57 +08:00
    这个 Bug 是没有的,你换个浏览器你会发现其实不行。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2654 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 09:18 PVG 17:18 LAX 01:18 JFK 04:18
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86