网站通过文档上传暴露的安全漏洞有哪些?

时间:2011-04-14 21:50:16

标签: php storage

我是文档存储空间的新手。我不确定我在做什么,但在我开始之前,我想知道当允许文档上传时可能存在的安全威胁以及清理数据的最佳方法是什么?我正在使用PHP,并允许图像,文档,pdf,Excel文档等。

这是一个很好的解决方案:

http://blog.insicdesigns.com/2009/01/secure-file-upload-in-php-web-applications/

3 个答案:

答案 0 :(得分:2)

允许用户上传文件时存在大量漏洞。潜在的,阻止不需要的文件格式,可以帮助限制某人能够上传shell和root服务器的可能性。 影响服务器上信息的完整性,机密性和可用性。

您内部也存在控制权,例如 XSS (跨站点脚本)漏洞......允许用户运行恶意代码。这可能导致恶意代码在用户环境中执行。

还有可能存在实际数据库中的漏洞,即 SQL 注入。

只是不要让服务器执行可执行文件......

用户上传大型文件的风险,利用重要的磁盘空间和带宽。

保护PHP上传脚本的有用链接: http://www.webcheatsheet.com/PHP/file_upload.php

答案 1 :(得分:1)

有两个非常明显的:

  • 如果操作不当,文件上传器可能允许用户覆盖其他人的文件 - ,包括运行该网站的PHP 。确保设置权限,以便Web服务器的帐户具有对任何目录的只读访问权限,但应写入内容,并且该目录中的任何内容都不能执行。
  • 用户可以上传(大)足够的文件来填充网站的磁盘配额。即使他们不能,他们也可以尝试 - 并且服务器可能不会拒绝上传直到整个文件被发送之后,嚼掉宝贵的资源并且可能仍然填满驱动器(如果只是拒绝时间)请求并删除临时文件。)。

这只是服务器的风险。文件可能包含可能影响其他用户的恶意软件。你可能想找到那种东西的扫描仪。

我建议如果你想让人们上传文件,你会找到许多其他人使用和推荐的预编写脚本。当有人做你从未考虑过的事情时,滚动自己必然会引起问题。

答案 2 :(得分:1)

您应该注意几种威胁:

  • 恶意软件,如病毒,蠕虫,特洛伊木马等,特别是如果其他用户可以访问上传的文件。
  • 可以在您的系统上执行的文件,如php文件。如果用户可以将php文件上传到您的webroot,他可以使用passthru(cmd)或system(cmd)等命令执行任意命令。
  • 非法内容。您不希望服务器上存在任何可能导致您遇到麻烦的非法行为。
  • 有人可以使用javascript上传HTML文件,使用它们进行XSS攻击
  • ...

仅举几例。您应该查看有关无限制文件上载的OWASP Website。你应该找到你需要的任何东西。