本文持续更新
一,md5()如果传入为数组则返回为NULL
strpos()如果传入数组,会返回NULL
strcmp函数无法比较数组,可以使用数组绕过。
二,利用==比较漏洞:
如果两个字符经MD5加密后为0exxxxx形式会被认为是科学计数法表示0*10的xxxx次方,值为零所以相等
以下例子MD5值是0e开头
QNKCDZO
240610708
s878926199a
s155964671a
s214587387a
md5碰撞问题:
根据==用法,0 == 字符串是成立的,
从而使用以上字符串绕过MD5检查。
三:SHA1
例子:sha1($_GET['uname']) === sha1($_GET['passwd']
sha1比较数组漏洞: uname[]=1&passwd[]=23 即可绕过 (注:数组数字可任意)
四:file_get_contents() 函数把整个文件读入一个字符串中。
这里一定要注意,如果文件不存在,此函数返回fales(0)
五:isset()函数只检查变量是否存在,不检查值