题目名字都叫md5碰撞,那就肯定和md5碰撞脱不了关系了
打开题目,首先让我们输入a
行吧,随意post一个a=1进去
结果提示flase
这里应该是有特殊值,我们找找看
查看源码,抓包
没找到
试试全局变量object。。。失败
回想下题目名字,md5碰撞,这里一定就和md5碰撞相关了,所以我们将object进行md5加密传入试试。。。。失败
然后去百度上找了下md5碰撞相关内容
解释是:
PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他们相同,都是0。
攻击者可以利用这一漏洞,通过输入一个经过哈希后以”0E”开头的字符串,即会被PHP解释为0,如果数据库中存在这种哈希值以”0E”开头的密码的话,他就可以以这个用户的身份登录进去,尽管并没有真正的密码。
原文链接:https://blog.csdn.net/qq_30464257/article/details/81432446
所以我们这里也就随意使用0e开头的科学计数法字符串的md5加密字符串来传入就可以伪造正确的值了
http://123.206.87.240:9009/md5.php?a=s878926199a