首页 -> 安全研究
安全研究
安全漏洞
Phorum 3.0.x的几个安全漏洞
发布日期:1999-12-29
更新日期:1999-12-29
受影响系统:
Phorum 3.0.x描述:
概述:
Phorum是用PHP编写的基于WEB的讨论组(BBS)软件。该软件包被发现存在几个安全漏洞,攻击者可以借此入侵Phorum运行的主机。
详细资料:
----------
Admin.php3
Admin.php3脚本用于安全和管理被创建的论坛。它带有口令保护,但利用其漏洞可以修改口令,然后穿过所有认证程序为所欲为。
如下URL可以将管理口令修改为'flow':
http://www.example.com/admin.php3?step=4&option=pass&confirm=flow&newPssword=flow
一旦拥有了管理功能的访问权限,就可以轻易读取该httpd服务器所在主机的任何文件。进入"Master Setting"功能,在"default .langfile name"输入框中输入:
/../../../../../../../../../../file/to/view
例如:
/../../../../../../../../../../etc/passwd
重新载入admin.php3页面后就可以浏览这个文件的内容了。
这个管理界面允许关闭Phorum,允许指定当论坛关闭时显示的文件。当其关闭时,Phorum利用一个"Location" http头使用户浏览器重定向到该“关闭”页面。缺省时Phorum使用的是相对URL路径,但可以将其重定向到任意URL。
进入"Master Settings"功能,修改"down page name"输入框内容为:
http://site.to.redirect.to?
注意,问号是必须的,因为Phorum会把后缀名(缺省是php3)添加到文件名后。
接着在管理界面关闭Phorum,将会触发重定向。
---------
Auth.php3
Phorum提供了一个限制对论坛某些部份(如贴文章、读等)访问的工具auth.php3。在这个脚本文件中存在一个很明显的后门,它允许任何"boogieman"用户越过认证程序,不须有效口令即可访问任何有访问限制的页面。
只要攻击者在需要访问的受访问限制的页面URL后添加"PHP_AUTH_USER=boogieman"变量/值对即可:
www.example.com/index.php3?PHP_AUTH_USER=boogieman
或
www.example.com/admin.php3?PHP_AUTH_USER=boogieman
等等。
正如我们所看到的,这时利用auth.php3工具保护admin.php3脚本已是毫无意义了。
---------
Code.php3
Phorum发行版本中有一个很可能是原本未准备提供的脚本文件。这个文件是code.php3,它接收一个参数。如果这个参数是Phorum目录下的一个文件名,将显示其内容。这个脚本限制了当前目录以外文件的访问,因此只能查看到管理员对该目录下php脚本源程序或其它文件所做的修改等等。
用法:
www.example.com/code.php3?file_to_view
例如:
www.example.com/code.php3?common.inc
www.example.com/code.php3?index.shtml
------------
Upgrade.php3
发行版本中的这个小脚本是用于将Phorum 1.x移植到Phorum 3.x。它允许攻击者(无须任何认证)指定需要升级的表和表的目标位置。这个漏洞可能导致拒绝服务攻击,因为将非Phorum 1.x的表移植到Phorum 3.x的表时可能会丢失许多数据。
---------
Read.php3
Phorum最强壮的特性是使用了后台SQL(PostgreSQL或MySQL),可以将大量数据/文章很好地保存起来(在Linux平台上至少支持15000篇贴文)。但问题是这个软件对大多数的传递给SQL查询的变量值没有经过有效性检查。
因此攻击者可以利用这个漏洞在服务器上运行任意的SQL命令。也许他们不能获得很多信息,但至少他们可以创建(CREATE)/删除(DROP)/插入(INSERT)/PostgreSQL COPY等各种数据库操作。
以下是利用read.php3脚本的示例,但其它脚本很可能也存在同样的问题:
如果要运行SQL命令"DROP TABLE x",则输入:
www.example.com/read.php3?num=1&action=3&sSQL=DROP%20TABLE%20x
要执行这个命令,Phorum需要有至少一个运行着的论坛。
--------------
Violation.php3
Phorum还存在另一个小漏洞:任何人都能利用violation.php3脚本发送电子邮件,并且不需要任何认证。不过要记住的是,这封电子邮件会包含攻击者的IP(或代理服务器IP)和FQDN。
语法结构为:
www.example.com/violation.php3?Mod=address@to.spam&ForumName=text_to_spam
建议:
1、按照Phorum发行版本security.txt文件中的步骤配置服务器。大多数的站点并没有做到这一点。
仔细阅读"Securing the Admin Script"一节,按照其步骤将Phorum数据库与其它重要的数据库
隔离,同时使用专门的用户名和口令访问Phorum数据库。
2、删除不需要的文件(如code.php3),添加对非公开文件的访问限制(如admin.php3、
stats.php3、upgrade.php3)。
PHP有一些内置的安全特性,如限制访问htdocs目录下文件等。请尽量使用它们!
3、等待补丁或升级版本。
浏览次数:7365
严重程度:0(网友投票)
绿盟科技给您安全的保障