楚慧杯为例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| <?php session_start(); highlight_file(__FILE__); include "./my.php"; echo strlen($secret); echo"<br>"; echo(md5($secret."adminpassword")); @$username = urldecode($_POST["username"]); @$password = urldecode($_POST["password"]); if (!empty($_COOKIE["source"])) { if ($username === "admin" && $password != "password") { if ($_COOKIE["source"] === md5($secret.$username.$password)) { $_SESSION['loggedin'] = true; $_SESSION['username'] = 'admin'; $_SESSION['role'] = 'admin'; echo "<script>window.location.href='upload.php';</script>"; } else { echo "<br>"; die ("你的cookie好像不太对啊"); } } else { die ("可不会轻易放你进去"); } } 14 879bd10c8628894d388c068a25326c21
|
hash长度扩展攻击,知道一个字符串的长度和这个字符串的hash。我们可以计算 a+b的hash
但是前提是我们还需要知道原本a中的一段明文。明文的长度可以在知道的范围内随便选。
使用
https://github.com/shellfeel/hash-ext-attack
直接python 运行相关脚本就可以了。