好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

图虫网重置密码hash算法破解可导致重置任意用户

许多网站也存在同样的问题,hash算法过于简单,导致轻易就能被破解。 详细说明:首先重置下密码,收到了一封邮件,重置密码地址是:

http://tuchong测试数据/account/reset/?code=1372415571&sign=9c4a3cab666fcddfdcec52a0d87ff73f&email=smtp_admin%40yeah.net

code是时间戳,email是我的邮箱,那么,sign是什么呢?

手贱测试了下,拿 1372415571smtp_admin@40yeah.net 去cmd5加密,结果正是9c4a3cab666fcddfdcec52a0d87ff73f!!!

所以,图虫的hash算法应该是

$sign=md5($code.$email);

从此,图虫的重置密码hash算法已被攻破。

为了证明这个 漏洞 ,我再次执行了一次找回密码

接下来,并且打开Chrome审查元素功能,记下找回密码后服务器返回数据的时间(格林尼治时间,须在基础上+8小时)。

然后打开在线工具,把时间转换成时间戳

得到时间戳为1372423073

拿1372423073smtp_admin@yeah.net去cmd5 加密 ,结果为790f0f42e5dcb3e00977ece88c0f50bc

这样,重置密码的三个参数都有了。

构造url:http://tuchong测试数据/account/reset/?code=1372423073&sign=790f0f42e5dcb3e00977ece88c0f50bc&email=smtp_admin%40yeah.net

   

构造重置密码链接的过程中,并没有登录邮箱查看邮件。

现在我们登录邮箱,看看收到的链接是不是一样的?

完全一致   修复方案: 1.将加密算法复杂化,例如

$sign=md5(md5($code).md5(md5(rand()).$email));

查看更多关于图虫网重置密码hash算法破解可导致重置任意用户的详细内容...

  阅读:62次