1、ereg()正则限制,存在null截断漏洞,可以用%00截断正则匹配,导致正则过滤被绕过;
2、strcmp()溢出漏洞,无法处理数组导致strcmp('str',array()) = strcmp('str','str') = 0;
3、md5()哈希,每个”0E"开头的哈希值都解释为0,例如 240610708, QNKCD20, aabg7XSs等,当两个字符串哈希后都以”0E"开头,则判断相等;
4、sha1()和md5()无法处理数组类型,sha1(a[]) = sha1(b[]) = false;
5、php弱类型,布尔值true可以跟任何字符串匹配相等(true == "a");
6、当字符串开头不为0,那么字符串与数字匹配时被转为0(“a” == 0);
7、x=0.99999999999999999(小数点后至少有17位)即可满足x=='1' and x=='0';
相关链接:https://mp.weixin.qq.com/s/DEPyKbi4wL5PZs3cYr3apQ