PHP中sha1()函數和md5()函數的繞過


相信大家都知道,sha1函數和md5都是哈希編碼的一種,在PHP中,這兩種編碼是存在繞過漏洞的。

PHP在處理哈希字符串時,會利用”!=”或”==”來對哈希值進行比較,它把每一個以”0E”開頭的哈希值都解釋為0,所以如果兩個不同的密碼經過哈希以后,其哈希值都是以”0E”開頭的,那么PHP將會認為他們相同,都是0。

因此我們只需要傳入開頭都是0E的兩個值,便可成功繞過。

例如這個代碼(sha1($_GET['uname']) === sha1($_POST['passwd'])

只需構造uname[]=1和passwd[]=2便可成功繞過。

另外md5是無法對數組進行處理的,如果存在md5判斷相等可以傳入數組來進行繞過。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM