原文链接:http://drupal.org/node/615888
重要的是要了解一个Drupal用户执行PHP的影响。
这通常发生时,用户可以输入到一个窗体的PHP代码,提交表格,并在服务器上的PHP运行。
请注意,保安队安全政策确定的权限,可以让整个网站收购。“管理用户”的权限将进一步讨论下来的页面。
损害
PHP可以用来修改Drupal站点。当它在服务器上执行,PHP作为Web服务器运行相同的用户运行。此用户(通常WWW数据)将能够在网站的“文件”目录删除或修改文件。
PHP也可以用来修改Drupal数据库本身。这种方式可以删除表,节点的内容可以修改,可以改变用户的详细信息。有一百万的方式,采取现场控制,当PHP可以执行。
甚至有许多安全的服务器,它可能会扫描其他文件服务器。如果你可以看到另一个Drupal安装的settings.php文件,那么你将能够访问它的数据库,以及。(见配置Apache和PHP ...如何使用open_basedir的指令锁定下来的建议。)
一个频繁的黑客的目标是使用你的服务器发送垃圾邮件。进入到PHP将允许用户随意发送电子邮件。
可以执行方式的PHP
模块提供了执行PHP的能力。和这些模块应该总是让你值得信赖的角色(甚至只是为了用户/ 1)限制访问。如果你发现一个模块,它允许PHP没有适当的警告和控制,你应该避免使用此模块,或考虑在此模块中创建一个错误报告。
共同提供的PHP模块:
- Drupal核心的船舶与PHP的过滤器模块。提供此过滤器将允许的PHP注入到一个节点的身体。查看节点时,将执行的PHP。
- devel模块提供了一个执行PHP代码块
- 不同的CCK字段和选项
- 各方面的意见选项,如参数处理
- Webform的
访问到PHP
请注意以下方式,用户可能会获得PHP执行。
- 最明显的是,用户/ 1可以安装PHP模块,然后执行PHP -权限不受限制。
- 给用户的管理权限将允许他们给自己安装模块的权限,等等。
- 给用户的管理用户将允许他们编辑用户/ 1,更改的电子邮件或密码,从而登录用户/ 1。
关于“管理用户”的说明
许多Drupal的实现需要允许一个用户,例如办公室管理员,能够为其他用户创建的帐户。这是不可避免的,许多真实世界的项目,也正如我们所看到的问题,它可以让这些用户成为用户/ 1。
你可能会考虑这些额外的模块来锁定您的网站,对这些漏洞: