网站地图    收藏   

主页 > 后端 > 网站安全 >

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

来源:自学PHP网    时间:2015-04-16 23:14 作者: 阅读:

[导读] 郑昀 创建于2014-01-12;最后更新于2014-01-13 找回密码功能是漏洞传统重灾区,下面列出两个经典错误点,请引以为戒吧Web开发工程师们!Web安全:一)以为用户不会抓包不会看源码不会分...

郑昀 创建于2014-01-12;
最后更新于2014-01-13.
 
找回密码功能是漏洞传统重灾区,下面列出两个经典错误点,请引以为戒吧Web开发工程师们!
  • Web安全:
    • 一)以为用户不会抓包不会看源码不会分析表单参数,HTML文档和表单里想写啥就写啥
      • 1)某手网:
        • +手机App的忘记密码功能:
          • 首先,通过抓包分析,发现密码重置接口可以Web访问;其次,填入手机号码提交,服务器端的响应中居然包含明文短信验证码,虽然是在JavaScript中的注释里;
          • 找回密码篇-案例1-图1
          • 补充案例:绝非个案。如第三方支付平台支付通也干过, http://www.2cto.com/Article/201306/218556.html ;走秀网干过, http://www.2cto.com/Article/201210/159135.html ;
      • 2)PPS:
        • +网页版忘记密码功能:
          • 贴心地实现了“重新发送找回密码邮件”功能;但是,不幸地在这个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
          •  
 
参考资源:
2,2013,乌云知识库,密码找回功能可能存在的问题
-over-

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论