V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
neodreamer
V2EX  ›  程序员

大公司怎么还在犯这种低级的错误。我说的是tumblr

  •  
  •   neodreamer · 2013-07-19 10:57:37 +08:00 via Android · 8437 次点击
    这是一个创建于 3943 天前的主题,其中的信息可能已经有所发展或是发生改变。
    用户登录的密码是明文传输的。

    小公司犯错还可以理解。大公司还犯这种低级错误就有点搞笑了。

    http://m.newyorker.com/online/blogs/elements/2013/07/tumblr-vulnerability-how-to-secure-your-passwords.html
    26 条回复    1970-01-01 08:00:00 +08:00
    Perry
        1
    Perry  
       2013-07-19 10:59:51 +08:00 via iPhone
    我只看他们犯错误后的态度
    neodreamer
        2
    neodreamer  
    OP
       2013-07-19 11:03:05 +08:00 via Android
    @Perry 事后态度很重要。但这么简单的措施不做是没想到日后成名,所以无所谓吗?
    juntao
        3
    juntao  
       2013-07-19 11:20:55 +08:00
    刚开始是实习生写的。后来没人改过这块代码了。。运行的好好的嘛。= =
    metalbug
        4
    metalbug  
       2013-07-19 11:51:34 +08:00
    雅虎收了,应该会改吧?谁知道呢,反正也不碍事
    angryz
        5
    angryz  
       2013-07-19 12:09:54 +08:00
    感觉哪个公司都不能完全放心,还是得自己辛苦点做好安全防范。
    ejin
        6
    ejin  
       2013-07-19 12:28:14 +08:00
    大部分网站都明文传输的,另外换句话说,99.9999%的网站都是http协议,可窃听可篡改的,没几个人会https开头打网址,只要不是直接https打开,跳转也能改
    hutushen222
        7
    hutushen222  
       2013-07-19 12:32:01 +08:00
    除了HTTPS,怎么处理算安全的呢?

    知乎上看到还有JS加密的方式,这个过程是指表单提交后,使用JS将密码变成可解密密文后传递给服务器段吗?
    http://www.zhihu.com/question/20306241
    lichao
        8
    lichao  
       2013-07-19 12:34:26 +08:00
    @ejin 登陆页面强制 https 是常识
    hutushen222
        9
    hutushen222  
       2013-07-19 12:36:30 +08:00
    @lichao 这也分站点类型吧,比如V2EX的登陆页面就没有HTTPS。
    lichao
        10
    lichao  
       2013-07-19 12:38:50 +08:00
    @hutushen222 嗯,改一下,大型网站登陆页面强制 https 是常识
    pfipdaniel
        11
    pfipdaniel  
       2013-07-19 12:43:22 +08:00
    登录用https,登录完成后http,于是乎可以比较容易的劫持用户session
    linlis
        12
    linlis  
       2013-07-19 13:21:54 +08:00
    靠,太让人失望了,居然是 Tumblr,亏得我一直用的 Tumblr
    treo
        13
    treo  
       2013-07-19 14:01:13 +08:00
    只要是http传输的,加密还是明文有什么区别
    treo
        14
    treo  
       2013-07-19 14:08:56 +08:00
    @hutushen222 这个属于自欺欺人,如果攻击者可以嗅探到明文密码,那么同样也可以嗅探到js加密后传输的hash,replay一下,和拿到明文密码的效果是一样的
    notedit
        15
    notedit  
       2013-07-19 14:21:38 +08:00
    @hutushen222 不是传送的可以解密的 是hash值 所以服务端也不知道用户的密码是神马 具体的原理可以参考mysql的验证
    notedit
        16
    notedit  
       2013-07-19 14:22:34 +08:00
    @treo 参考我上条
    swulling
        17
    swulling  
       2013-07-19 14:28:15 +08:00
    @notedit 在没有https的情况下,这是一个不得已的办法,本地hash后传送
    hutushen222
        18
    hutushen222  
       2013-07-19 15:08:46 +08:00
    @swulling @notedit 我认同 @treo 的观点, HTTP协议下加密和明文没什么区别,嗅探到之后都可以用以登陆当前站点。

    HTTP协议下加密的方式唯一的好处可能在于不能直接用hash串去登陆其他的站点。
    neodreamer
        19
    neodreamer  
    OP
       2013-07-19 16:30:30 +08:00 via Android
    @linlis 这次事件只影响 iPhone 和 iPad App 用户。web 登录用户不影响。
    luikore
        20
    luikore  
       2013-07-19 17:08:40 +08:00   ❤️ 1
    和公司大小没关系, 而且软件质量控制的难度是随着团队大小的指数增长的
    11138
        21
    11138  
       2013-07-19 18:15:59 +08:00   ❤️ 1
    $password_hash = md5_hex("密码+当前小时");

    这样一个密码的hash有效期是一个小时,还有其它类似的办法,加上验证码等等其它条件再MD5一次。
    birds7
        22
    birds7  
       2013-07-19 18:57:02 +08:00
    研究人员将在Blackhat 2013上讲解如何30秒破解SSL
    http://www.freebuf.com/news/10883.html
    luikore
        23
    luikore  
       2013-07-19 20:47:50 +08:00
    @11138 还在用 md5 的都是高危网站
    sharpnk
        24
    sharpnk  
       2013-07-19 20:57:10 +08:00   ❤️ 1
    这跟明文不明文没有关系. plain text over https完全没有任何问题.

    tumblr的问题是用http传输了. 而且这个不是登陆页面, 是client朝authorization server要access token的request, 影响的是首次登陆的用户.
    zebinary
        25
    zebinary  
       2013-07-19 22:16:52 +08:00
    现在登陆这块的最佳实践是什么样的?有人出来分享下么?
    neodreamer
        26
    neodreamer  
    OP
       2013-07-19 23:20:47 +08:00 via Android
    @sharpnk

    http://regmedia.co.uk/2013/07/16/tumblr_plain_text_password.png
    客户端用公钥加密,服务端私钥解密,貌似可以避免用户密码明文被暴露,虽然不能阻止密文被截获,不能阻止别人拿这密文伪造客户登录请求,获取用户访问权限。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2706 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:02 · PVG 23:02 · LAX 08:02 · JFK 11:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.