我所工作的公司最近在我们托管的站点上遭受了许多标头注入和文件上传攻击,尽管我们已解决了标头注入攻击的问题,但我们仍未控制上载攻击。
我正在尝试建立一系列即插即用型上传脚本,以供内部使用,设计人员可以将其复制到其网站的结构中,修改一些变量,并在其上准备一个随时可以上传的表单他们的网站。我们正在寻求尽可能限制暴露的机会(我们已经关闭了fopen和shell命令)。
我在过去一个小时内对该网站进行了搜索,发现了许多有关依赖外部资源的特定方法的答案。你们都认为最好的仅脚本解决方案足够具体,可以用作可靠的保护方法?另外,如果可能的话,我想将语言限制为PHP或伪代码。
编辑: 我找到了答案(在下面发布),尽管它确实使用了shell命令exec(),但是如果您阻止脚本文件上传(此解决方案效果很好),则不会遇到任何问题。
最好的解决方案,恕我直言,是将包含上载文件的目录放在“网络”环境之外,并使用脚本使其可下载。这样,即使有人上载了脚本,也无法通过从浏览器调用脚本来执行它,而您不必检查上载文件的类型。