我最近制作的一个网站遭到黑客入侵和污损。他们进入了一个自制的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查询,因为这可能会出现的漏洞。
有什么想法?
也许这更适合http://security.stackexchange.com/ –
不要使用md5,请使用某些版本的sha。 – imreal
是的,没有逃跑是一个大问题。比'mysql_real_escape_string'好的是准备好的语句和参数化查询。 [这是开始这个主题的好地方](http://stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection)。 –