PHP 网站受到攻击

PHP 网站受到攻击

我有一个基于 PHP 的网站,带有 MySQL 数据库。几天前,我收到了一封电子邮件,其中包含数据库中的所有用户及其解码后的密码(密码使用 MD5 编码)。

更改所有密码(ftp、数据库和所有用户的密码)后,我收到了一封包含用户新信息的电子邮件。

我已经使用mysql_real_escape_stringhtmlentities来清理用户输入。不知道还能做些什么来保护网站免受再次入侵。有谁知道这是怎么发生的,以及我可以做些什么来防止它?

非常感谢您的帮助!

答案1

  1. 询问攻击者。他们联系了你(而不是保持沉默并出售信息),所以他们可能也想帮助你。

  2. 查看全部您的 SQL 查询,查找遗漏的输入转义等。特别留意对用户表的查询,尤其是当您执行SELECT *.

  3. 尽量避免使用 SELECT * - 只需选择您需要的字段。

  4. htmlentities 无法正确转义要插入 SQL 查询的数据。您应始终使用 mysql_real_escape_string 来实现这一点。htmlentities 和 htmlspecialchars 用于在将数据发送到浏览器之前对其进行清理。

  5. 考虑使用准备好的语句,例如原产地保护组织。这将极大地简化防范 SQL 注入的任务,因为数据根本不需要转义。(在回显到浏览器之前仍然需要 htmlentities,但 XSS 是另一个主题)。

答案2

尝试将您的 SQL 查询更改为准备好的语句

还可以联系您的托管商以获取他们的帮助。

如果您正在使用 CMS,请检查其是否为最新补丁。

使用带盐的 MD5 和多轮 MD5 哈希算法。

相关内容