CTF之MD5相等值不相等

一开始以为是要寻找MD5碰撞的例子,后来想了想不应该这么复杂,就发现了PHP有个隐式转换的缺陷,PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他们相同,都是0。
构造例子
QNKCDZO
240610708

当然,安全的比较方法是三个=,也就是“===”。

 

 

原文链接:https://chasjd.com/posts/dac58a27/

posted @ 2018-07-28 22:09  chasjd  阅读(6371)  评论(0编辑  收藏  举报