<?php highlight_file(__FILE__); include"./secret_key.php"; include"./salt.php"; //$salt = XXXXXXXXXXXXXX // the salt include 14 characters //md5($salt."adminroot")=e6ccbf12de9d33ec27a5bcfb6a3293df @$username = urldecode($_POST["username"]); @$password = urldecode($_POST["password"]); if (!empty($_COOKIE["digest"])) { if ($username === "admin" && $password != "root") { if ($_COOKIE["digest"] === md5($salt.$username.$password)) { die ("The secret_key is ". $secret_key); } else { die ("Your cookies don't match up! STOP HACKING THIS SITE."); } } else { die ("no no no"); } }
第一次遇到哈希长度扩展攻击。使用工具hashpump
1 2 3 4 5 6 7
hashpump Input Signature: e6ccbf12de9d33ec27a5bcfb6a3293df Input Data: root Input Key Length: 19 # 即14字符的salt+5字符的"admin" Input Data to Add: root 6aa42454d4236337702b321ee8841237 root\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00root