代碼審計-md5加密相等繞過


<?php
$md51 = md5('QNKCDZO');
$a = @$_GET['a'];
$md52 = @md5($a);
if(isset($a)){
if ($a != 'QNKCDZO' && $md51 == $md52) {
echo "flag{*}";
} else {
echo "false!!!";
}}
else{echo "please input a";}
?>

要是md51等於md52

PHP在處理哈希字符串時,會利用”!=”或”==”來對哈希值進行比較,它把每一個以“0E”頭的哈希值都解釋為0

如果兩個不同的值經過哈希以后都是0E開頭,那么PHP將會認為他們相同

payload

http://123.206.87.240:9009/13.php?a=s878926199a

 flag{bugku-dmsj-am9ls}

 


免責聲明!

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



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