PHP 探测任意网站密码明文/加密手段办法: md5('240610708') == md5('QNKCDZO')

2015-05-04 15:51:31 +08:00
 est
var_dump(md5('240610708') == md5('QNKCDZO'));
var_dump(md5('aabg7XSs') == md5('aabC9RqS'));
var_dump(sha1('aaroZmOk') == sha1('aaK1STfY'));
var_dump(sha1('aaO8zKZF') == sha1('aa3OFF9m'));
var_dump('0010e2' == '1e3');
var_dump('0x1234Ab' == '1193131');
var_dump('0xABCdef' == ' 0xABCdef');

感觉这个不科学啊

https://news.ycombinator.com/item?id=9484757
27009 次点击
所在节点    PHP
79 条回复
ywisax
2015-05-04 15:59:28 +08:00
观察下最终的hash就明白了,都是0eXXXXXXXX 。
再加上php是弱语言,会自动判断数据类型。
零=零,明白了吧?
anyforever
2015-05-04 16:01:40 +08:00
md5('240610708'); // 0e462097431906509019562988736854
md5('QNKCDZO'); // 0e830400451993494058024219903391

怎么可能这么容易碰撞
anyforever
2015-05-04 16:03:25 +08:00
var_dump(md5('240610708') === md5('QNKCDZO'));
ywisax
2015-05-04 16:04:00 +08:00
准确点说,是“==”对比的时候会进行数据转换,0eXXXXXXXXXX 转成0了。
了解php的“==”和“===“就更加清晰了。
yangff
2015-05-04 16:08:28 +08:00
aliang032
2015-05-04 16:12:56 +08:00
找了下手册说明贴给大家:

如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换为数值并且比较按照数值来进行

http://php.net/manual/zh/language.operators.comparison.php
est
2015-05-04 16:21:17 +08:00
@ywisax
@yangff

脑洞够大!
xifangczy
2015-05-04 16:34:44 +08:00
卧槽 这脑洞。。太赞了
raincious
2015-05-04 16:36:13 +08:00
这是个坑没错,所以密码比较的时候需要用 ===。但,怎么用它来:

> PHP 探测任意网站密码明文/加密手段办法

?不解。
est
2015-05-04 16:47:41 +08:00
@raincious 把你的密码设成 0x1234Ab,然后退出登录再登录,换密码 1193131 登录,如果登录成功,那么密码绝对是明文保存的没跑。


同理,密码设置为 240610708,换密码 QNKCDZO 登录能成功,那么密码没加盐直接md5保存的。
cat9life
2015-05-04 17:00:31 +08:00
长见识啊...
avtester
2015-05-04 17:03:44 +08:00
知道了又能如何?
bingu
2015-05-04 17:04:55 +08:00
呃,这个略迪奥
xierch
2015-05-04 17:06:20 +08:00
PHP 的大坑哈哈哈
tabris17
2015-05-04 17:07:41 +08:00
能强等的地方我都用强等的
NeoAtlantis
2015-05-04 17:09:45 +08:00
散列不叫加密!
要不谁给我解密看看?XD
wy315700
2015-05-04 17:12:46 +08:00
收藏了 ,好牛逼的攻击
raincious
2015-05-04 18:22:46 +08:00
@est

恍然大悟,感谢!
Citrus
2015-05-04 18:31:35 +08:00
第一次见到如此能唬人的标题党。。。看标题以为楼主完全攻破了 MD5 可以批量找碰撞了。。。
rwalle
2015-05-04 18:46:33 +08:00
PHP中的==是挺坑的
但是PHP中还有很多同样大的坑。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/188364

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX