本文持續更新
一,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()函數只檢查變量是否存在,不檢查值