我最近创建的一个网站遭到黑客攻击和污损。他们进入了一个自制的 CMS 来管理网站。他们能够检索我的用户名和密码的散列版本并将其发布在 Facebook 上。
现在我的问题是,他们是如何使用散列密码进入网站的?他们不需要先解密吗?他们为什么不在他们的 Facebook 帐户上发布密码的解密版本(当我看到许多其他网站张贴在那里并显示他们的人类可读密码时)。
这是我的验证码:
SELECT * FROM Admin WHERE Username = '$_POST[Username]' // This finds the username
if ($row[Password] == md5($_POST[Password])) {
Save Sessions here
}
尽管我现在已将 mysql_real_escape_string 添加到 SQL 查询中,因为这可能是漏洞。
有什么想法吗?