所以我正在研究这个 CTF 问题,他们有一个哈希密码的函数(在 PHP 中,md5(md5($pass))),他们给了我们哈希密码。不幸的是,我尝试了 john the ripper、hashcat、cyberchef 和多个不同的其他网站,看看它是否是一个足够简单的密码来破解,但它们似乎都没有在他们的单词列表中。我开始怀疑这是否是解决问题的正确方法。
本质上,有这个登录表单:
<form method='POST' action=''>
<input name='username' type='text' placeholder='Username'/><br>
<input name='password' type='password' placeholder='Password'/><br>
<input type='submit' value='Login'/>
</form>
这是随附的 PHP:
<?php
$flag = "{fake_flag}";
function hashing_function($password) {
return hash('md5', hash('md5', $password));
}
$username = $_POST['username'];
$password = $_POST['password'];
if ($username != null && $password != null) {
if ($username == "admin" && hashing_function($password) == "0e910057037170584158391016456192") {
echo "<h3 style='color: lime;'>ACCESS GRANTED!</h3><pre>" . $flag . "</pre>";
} else {
echo "<h3 style='color: darkred;'>ACCESS DENIED.</h3>";
}
}
?>
这是我们给出的源代码。对于我应该朝着什么方向努力或进一步检查或解决问题的方向,你们有什么想法或提示吗?
谢谢!