我在维护Drupal站点时遇到了一些问题。 客户不会更新不安全的模块,他们还会开发自定义的不安全模块,导致黑客上传php脚本,从favicon.ico文件运行一些eval恶意代码,或从/ sites / default /文件中上传任何文件夹。 我不能禁用eval,因为Drupal需要它的几个东西,如访问pipe理网站和其他东西(我已经尽力使用Suhosin禁用它,但最后我只是把它放回去)。
所以,我希望能够在Apache级别上过滤出无效的上传文件,如果这样的话是可能的:我的意思是,testing上传的文件的魔头/签名和文件,如果不符合标准则抛出错误。
我想到了只是select: mod_mime和AddInputFilter ,但我还没有find一种方法来实现这样的filter。 告诉所有开发者改变所有已经写好的代码的选项被丢弃,不幸的是。
有任何想法吗?
PS:我主要关心的是那些貌似天真的文件,比如favicon.ico文件,头部像<php? eval('...') <php? eval('...') 。 但是我需要让人们能够上传ico文件。 这是危险的内容,并且可以从任何能够访问上传文件的文件执行,因此执行上下文可能是“安全的”path。 评估是危险的,但需要:(