被小伙伴们蠢哭了的那些事儿:找回密码篇

郑昀 建立于2014-01-12;html

最后更新于2014-01-13.shell

 

找回密码功能是漏洞传统重灾区,下面列出两个经典错误点,请引觉得戒吧Web开发工程师们!安全

  • Web安全:服务器

    • 一)觉得用户不会抓包不会看源码不会分析表单参数,HTML文档和表单里想写啥就写啥函数

      • 1)某手网:测试

        • +手机App的忘记密码功能:加密

      • 2)PPS:htm

        • +网页版忘记密码功能:

          • 贴心地实现了“从新发送找回密码邮件”功能;可是,不幸地在这个GET请求的URL里,目标email参数是明文的;从而能够将任意用户的密码重置邮件发给指定邮箱;

          • 找回密码篇-案例2-图1

          • 找回密码篇-案例2-图2

      • 3)新网互联:

        • +网页版忘记密码功能:

          • 页面虽然展现的是星号遮挡的邮箱地址,但HTML文档构造的表单参数里却使用邮箱明文,最终致使土豆网域名被劫持;

          • 找回密码篇-案例3-图1

          • 找回密码篇-案例3-图2

          • 找回密码篇-案例3-图3

      • 4)搜狐:

        • +网页版找回密码功能:

          • 找回密码时要回答“密码提示问题”;可是工程师把答案明文写在 textarea 控件的JS校验函数里了,致使能够重置任意搜狐用户密码;

          • 找回密码篇-案例4-图1

    • 二)把MD5(key)加密当成神器,却不知在MD5爆破库面前等于说明文传递

      • 1)奇虎360:

        • +网页版找回密码功能:

          • 360的找回密码邮件里,重设密码地址格式为:http://i.360.cn/findpwd/setpwdfromemail?vc=%一个MD5加密串%&u=blabla%40gmail.com;

          • 利用MD5爆破库逆向解密后发现,这个MD5加密串是一个相似于1339744000的数字,很像是UNIX时间戳

          • 白帽子进一步验证后猜想,用户找回密码时,系统将此时的UNIX时间戳,与账号绑定,记录在密码重置队列里,修改该用户的密码时会验证输入的vc参数;

          • 看似合理,但360工程师忽略了一个细节:假如这个时间戳是新生成的,攻击者就能在必定时间段内进行暴力破解,给定任意邮箱,很快就能算出一个有效的重置密码连接;

          • 找回密码篇-案例5-图1

      • 2)某牛网:

        • +注册激活邮件功能:

          • 注册某牛网后,系统发的注册邮件里,激活URL里id参数其实是用户的userid,str参数则是MD5(id)加密串,以下图所示;

          • 这样能注册任意邮箱并激活,或遍历全部整数id激活;

          • 找回密码篇-案例6-图1

          • 找回密码篇-案例6-图2

          • 补充案例:绝非个案。中国邮政旗下某站点的找回密码也这么销魂过,http://www.wooyun.org/bugs/wooyun-2013-039383

 

参考资源:

1,2011,陈皓,你会作Web上的用户登陆功能吗?

2,2013,乌云知识库,密码找回功能可能存在的问题

3,2013,郑昀,Web开发基本准则-55实录-Web访问安全

-over-

 

马年继续赠图几枚:

不要在地毯上刹车啊

http://ww1.sinaimg.cn/bmiddle/62037b5ajw1ec0lxccvrbg20a305ve83.gif

让老板觉得你在上班的神器:http://targetkiller.net/hackertyper/index.html

 

通 病啊通病:『据一位腾讯电商的前产品经理透露,腾讯电商的产品经理、工程师更执着于测试网购流程、响应速度等,但愿可以减小步骤提高体验,却忽略了须要 更强大技术支持的供应链、物流等业务体系。』注意力过于集中于C而不是B和I——《腾讯电商门前摔了一跤:“QQ+”模式失效http://t.cn/8FhPSQv

http://ww2.sinaimg.cn/mw1024/62a92ba0gw1ecbx735thuj20np0slwiv.jpg

相关文章
相关标签/搜索