2011-03-14 141 views
1

我目前正在查看一个网站,因为网络钓鱼的目的而被黑客入侵。显然,一个PHP文件被引入并用于上传文件并可能改变目录权限。我怀疑这是通过公共可写目录或通过不安全的图像上载脚本完成的。保护网站

我可以采取哪些措施使网站尽可能安全?

+0

不知道你安装任何东西,我们不能帮你。你需要更具描述性。你为什么认为有一个公共可写目录?这个不安全的图像上传脚本在哪里,它的源代码是什么?你的日志说什么?最后......你运行WordPress吗? – Brad 2011-03-14 15:22:20

+1

http://serverfault.com/questions/218005/my-servers-been-hacked-emergency – Trufa 2011-03-14 15:22:27

+0

这是一个很长的话题,但是,要开始,请查看访问日志。您可能从那里发现恶意上传... – NemoStein 2011-03-14 15:23:12

回答

3

最重要的一步是将代码恢复为备份。攻击者可以创建任何后门以供将来使用。您的http_access日志可能会告诉您原来的入侵点。

另请检查您的虚拟主机使用的文件权限。在很多情况下,这个漏洞并不在于页面本身,而是托管公司不会分隔不同客户的空间(所以它可能会从同一个虚拟主机上的其他客户传播)。

+0

这个IMO不完整,你不知道漏洞在哪里开始,什么是恢复而不改变任何东西? – Trufa 2011-03-14 15:26:10

+0

我没有说这是**唯一的**步骤,是吗?在同一句话中,我写下了什么是重点:消除可能比原始漏洞隐藏得多的额外后门。 – vbence 2011-03-14 15:27:26

+0

够公平的,我还是不认为这有帮助(不是你的错,而是问题)。 – Trufa 2011-03-14 15:30:14

1

这个问题被标记为PHP,所以我假设你的服务器端语言是PHP。这也是一个相当普遍的问题,但有些建议是

  1. 如果只图像文件是为了上传验证文件有一个有效的图像扩展名和MIME类型,使用和getimagesize()。即使您不接受只有图像文件,也会根据允许的扩展名和类型的白名单检查扩展名和MIME类型。另外,当您使用move_uploaded_file时,请选择您自己的名称和扩展名。

  2. 通过将上传目录保持在Web根目录之外并检查文件请求所依赖的任何数据,确保无法请求任意文件。

有更多的信息here