hash扩展攻击
楚慧杯为例
<?phpsession_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 ("可不会轻易放你进去");
}
}
14879bd10c8628894d388c068a25326c21
hash长度扩展攻击,知道一个字符串的长度和这个字符串的hash。我们可以计算 a+b的hash
但是前提是我们还需要知道原本a中的一段明文。明文的长度可以在知道的范围内随便选。
使用
https://github.com/shellfeel/hash-ext-attack
直接python 运行相关脚本就可以了。