首页 -> 安全研究

安全研究

安全漏洞
PHP-Nuke Dance Music模块index.php本地文件包含漏洞

发布日期:2007-09-25
更新日期:2007-09-27

受影响系统:
PHP-Nuke Dance Music 1.0
描述:
BUGTRAQ  ID: 25806

PHP-Nuke是一个广为流行的网站创建和管理工具,它可以使用很多数据库软件作为后端,比如MySQL、PostgreSQL、mSQL、Interbase、Sybase等。

PHP-Nuke在处理ACCEPT_FILE[1]参数数据时存在输入验证漏洞,远程攻击者可能利用此漏洞在服务器上执行任意命令。

PHP-Nuke的index.php文件中没有正确地验证通过modules.php对ACCEPT_FILE[1]参数的输入,允许攻击者通过包含本地资源的任意文件导致执行任意代码,有漏洞的代码段如下:

------------>[source code]<------------

include("header.php");
...
$ACCEPT_FILE['Acid_house.html'] = 'Acid_house.html';
$ACCEPT_FILE['Alternative_dance.html'] = 'Alternative_dance.html';
$ACCEPT_FILE['Ambient_house.html'] = 'Ambient_house.html';
...
$page = $_GET['page'];
...
$pagename = $ACCEPT_FILE[$page];
if (!isSet($pagename)) $pagename = "index.html";
include("modules/Dance_Music-MM/$pagename");

------------>[/source code]<-----------

$ACCEPT_FILE数组未经初始化,因此如果打开了register_globals的话攻击者可以注入任意$_GET/$_POST/$_COOKIES参数的值。

<*来源:Janek Vind (come2waraxe@yahoo.com
  
  链接:http://secunia.com/advisories/26958/
        http://marc.info/?l=bugtraq&m=119073717121409&w=2
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

http://victim.com/modules.php?name=Dance_Music-MM&page=1&ACCEPT_FILE[1]=../../../../../../../../../etc/passwd

建议:
厂商补丁:

PHP-Nuke
--------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://phpnuke.org/

浏览次数:2703
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障