[新手入门] Bugku-MD5 collision

[复制链接]
查看10674 | 回复0 | 2020-2-10 22:31:47 | 显示全部楼层 |阅读模式
PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他们相同,都是0。
攻击者可以利用这一漏洞,通过输入一个经过哈希后以”0E”开头的字符串,即会被PHP解释为0,如果数据库中存在这种哈希值以”0E”开头的密码的话,他就可以以这个用户的身份登录进去,尽管并没有真正的密码。

所以a随意构造一个字符串的MD5值为“0E”开头即可得到flag

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

27

主题

27

帖子

147

积分

小有名气

Rank: 3Rank: 3

积分
147