标签:png value 碰撞 php 混合 处理 但我 class str
PHP在处理哈希字符串时,
会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他们相同,都是0。
"==="和"!=="即strict比较符,只有在类型相同时才相等。"=="和"!="即non-strict比较符,会在类型转换后进行比较。
此外0 == 字符会被认为是正确的,可以绕过验证
例子1:bugku的碰撞题目
输入一个a,但我们不知道其确切的值,就用md5碰撞来绕过:
字母数字混合类(MD5值):
绕过以后返回flag值
例子2:
题目的php代码,需要传两个参数v1和v2,v1必须为字母,v2必须为数字,如果两者的MD5值相同,打印flag
用到上面提到的MD5碰撞数,就能返回flag
标签:png value 碰撞 php 混合 处理 但我 class str
原文地址:https://www.cnblogs.com/echoDetected/p/12309225.html