我目前正在调查一个因网络钓鱼而被黑客攻击的网站。显然,PHP文件被引入并用于上传文件并可能更改目录权限。我怀疑这是通过公共可写目录或通过不安全的图像上传脚本完成的。
我可以采取哪些措施使网站尽可能安全?
答案 0 :(得分:3)
最重要的一步是从代码中恢复代码。获奖者可以创建任何后门以供将来使用。
您的http_access
日志可能会说明入侵的原始点。
同时检查您的webhost使用的文件权限。在许多情况下,漏洞不在于页面本身,而是托管公司没有将不同客户的空间分开(因此它可能已经从同一个虚拟主机上的其他客户传播)。
答案 1 :(得分:1)
问题是标记为PHP,所以我假设您的服务器端语言是PHP。这也是一个相当笼统的问题,但有些建议是
如果只要上传图像文件,请确认该文件具有有效的图像扩展名和mime类型,并使用getimagesize()。即使您不接受图像文件,也请根据允许的扩展名和类型的白名单检查扩展名和mime类型。此外,当您使用move_uploaded_file时,请选择您自己的名称和扩展名。
确保无法通过将上传目录保留在Web根目录之外并检查文件请求所依赖的任何数据来请求任意文件。
有更多信息here
答案 2 :(得分:1)
我的php网站收到的两个最常见的攻击是SQL注入和远程文件包含。我的IDS每天发现大约6次攻击。作为开发人员,您可以做的第一件事就是验证用户输入。切勿将用户输入(如请求变量)直接传递给SQL查询。
阅读远程文件包含:
http://www.theprohack.com/2010/07/simple-tutorial-on-remote-file.html