CTF-md5 collision(NUPT_CTF)

CTF-md5 collision(NUPT_CTF) 100

输入a?

尝试了下a=a 发现是错误的。

看题目是md5 collision,百度一下知道是md5碰撞,了解了其中的原理

PHP在处理哈希字符串时,会利用"!="或"=="来对哈希值进行比较,它把每一个以"0E"开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以"0E"开头的,那么PHP将会认为他们相同,都是0

攻击者可以利用这一漏洞,通过输入一个经过哈希后以"0E"开头的字符串,即会被PHP解释为0,如果数据库中存在这种哈希值以"0E"开头的密码的话,他就可以以这个用户的身份登录进去,尽管并没有真正的密码。

所以查到以0e为md5开头的字符串再次输入就饿可以获得flag

http://123.206.87.240:9009/md5.php?a=s1885207154a

参考链接: https://blog.csdn.net/qq_30464257/article/details/81432446

原文地址:https://www.cnblogs.com/cxl862002755/p/13259663.html