在我的网站上,我有能力让用户将文件上传到服务器,并能够在名为“公共上传”的目录中查看所有上传的文件,用户可以在其中查看其他用户上传的所有文件。它是Apache目录页面,上面写着“索引/上传”。它是一种文件共享中心,人们可以下载和共享其他人的文件。
这会有任何安全问题吗? 例如,用户可以上传恶意PHP脚本,并从客户端执行吗?
如果这些问题存在,我该如何解决这些问题?
答案 0 :(得分:1)
可能一切都取决于服务器,PHP和Apache配置。
请参阅OWASP's Unrestricted File Upload vulnerability page了解一些风险:
- 此漏洞的影响很大,假设代码可以 在服务器上下文或客户端上执行。一个人的可能性 对攻击者的检测很高。患病率很普遍。作为一个 结果是此类漏洞的严重性为高。
- 网络 通过上传和执行web-shell可以破坏服务器 可以运行命令,浏览系统文件,浏览本地资源,进行攻击 其他服务器,并利用本地漏洞,等等。 这也可能导致污损。
- 攻击者可能会放 进入网站的网页仿冒页面。
- 攻击者可能会放 将XSS存储到网站中。
- 此漏洞可以使网站成为可能 容易受到一些其他类型的攻击,如XSS。
- 图片上传 可能会触发客户端损坏的图片库中的漏洞 (如果图片发布,libtiff,IE过去有问题) 1:1。
- 脚本代码或其他代码可能嵌入在上传的文件中, 如果图片以1:1发布,则会执行。
- 本地 实时监控工具的漏洞,例如防病毒软件, 可以被剥削。
- 恶意文件(Unix shell脚本,windows病毒, 反向shell)可以上传到服务器上以执行代码 稍后由管理员或网站管理员 - 在服务器或客户端上 管理员或网站管理员。
- Web服务器可能用作服务器 命令托管恶意软件,非法软件,色情内容和其他对象。
See my other post有关使文件上传安全的一般指导原则。
答案 1 :(得分:0)
允许用户将文件上传到公用文件夹不会对您的服务器造成风险。他们无法在您的服务器上运行这些文件。
对于下载任何这些文件的用户而言,这确实存在风险。这些文件可能包含病毒或恶意软件。打开任何这些文件对您的用户来说都是一个很高的安全风险。不确定你是否愿意提供这样的功能。