鲁夫的爱

虚伪的加密——金山的“密码泄露快速查询”

分类: 小小极客    标签: , , ,     评论: 7人评论

最早是在人人网上看到有同学谈论金山的这个“密码泄露快速查询”网页,我没有太在意。刚看到cnbeta有报道,我决定一探究竟。

打开地址http://cs-test.ijinshan.com/security/,网页载入挺快,但验证码载入非常慢,还经常载入失败,看来某些人的负载做得实在失败呀。

金山密码泄露快速查询网页载入速度

金山密码泄露快速查询网页载入速度



没有验证码也罢,我们随手填上用户名111111 验证码abcd,看浏览器会怎么做。
又是一阵漫长的等待之后,回调的结果依然是502错误,不管它,我们直接看浏览器发送了什么数据。
测试金山的“密码泄露快速查询”

测试金山的“密码泄露快速查询”

verifycode 是 abcd ,这并不奇怪,username 的这串 96e79218965eb72c92a549dd5a330112 又是怎么来的呢?我们把它扔进著名的 cmd5 进行碰撞,果不其然,就是我们刚刚输入的111111。

也就是说,金山先把www.csdn.net.sql 里的用户名和邮箱全部一次md5(以下简称leak_md5),在“密码泄露快速查询”这个网页里把用户输入的username 一次md5(以下简称test_md5),如果 leak_md5===test_md5 则断定用户输入的 username 在www.csdn.net.sql 中,即username 已泄露。用到的md5 生成函数见http://cs-test.ijinshan.com/security/enc.js

咦,我怎么觉得金山这是多此一举呢?就算金山不信任网络传输中的各节点,一次md5又能起多大的作用呢?对用户名/密码进行一次md5,其安全性等于跟明文存储并无本质差别,这难道不正是人人网等用户数据泄露事件给我们的教训吗?
前几天,新浪微博上的图虫网工程师@沈振宇 曾经闹过一次笑话,在秀无知引起群嘲之后,他删除了自己愚蠢的发言。

@沈振宇: #CSDN密码事件#中的核心问题在于CSDN竟然在数据库里保存了用户的明文密码。这是严重缺乏职业道德的行为,CSDN这种做法的居心叵测。图虫从第一天起,就从来没有保存过用户的明文密码,而是保存md5加密之后的密码。md5加密是不可逆的,也就是说即使图虫的数据库被攻破 ,黑客也无法获得任何用户的密码。
新浪微博上图虫网的工程师@沈振宇 主动泄露用户的密码md5

@烧锅炉的煤男子 : 我了个去 别丢人了 把自己用户的密码晒出来? salt也没加就认为这样安全吗?单次MD5也是很弱的,快回去补补吧。第一行的密码20010901

金山的情况比沈振宇好一点,但他们犯了同一个错误:md5不是加密,md5只是hash,而且普通字母数字的md5非常容易碰撞出结果。
如果我是金山的工程师,我根本不会考虑把www.csdn.net.sql 一次md5,在这个“密码泄露快速查询”页面里对用户输入的username进行md5,再对二者进行比对,这样不仅耗时耗力,而且对安全无所助益。

本站文章除注明转载外,均为本站原创编译
转载请注明以下信息
文章转载自:鲁夫的爱 [ http://opengg.me/ ]
本文标题:虚伪的加密——金山的“密码泄露快速查询”
本文地址:http://opengg.me/677/md5-not-encryption-jinshan-account-security-check/


12-23
2011
    • 如果是php+mysql,要快的话给表建立索引就可以了吧。
      SELECT * FROM leak_user WHERE username_md5 = somemd5;
      SELECT * FROM leak_user WHERE username = someuser;
      这两种查询有差吗?
      而且看这个表单提交的速度,可算不上快速,我认为程序员被明文吓怕了是主因。

  1. 第一次看到对用户名进行加密的网站。。
    感觉确实是多此一举啊
    真正对安全性要求比较高的,都用HTTPS了

  2. 你这文章有点杀伤力,基本上很多人如果没有很好的密码管理软件的话,那很多的人的主密码可能已经通过这些论坛泄漏出去了,相关部门的情报部门也应该完全获悉这些密码数据了!!!

无觅相关文章插件,快速提升流量

loading...