SAN是怎么利用phpnuke的漏洞做坏事的
一、phpnuke的漏洞
2001-9-24日的bugtraq里,有一则短短的twlc security divison,说明了phpnuke所有版本(除了5.0RC1)的admin.php文件中,存在一个文件上传的漏洞,因为没有对用户的身份进行验证,所以任何一个用户都可以借此拷贝机器上的任意文件到phpnuke或者phpnuke以外的任意一个有权限的目录。有问题的代码出在下面这段:
$basedir = dirname($SCRIPT_FILENAME);
$textrows = 20;
$textcols = 85;
$udir = dirname($PHP_SELF);
if(!$wdir) $wdir="/";
if($cancel) $op="FileManager";
if($upload) {
//^^^^^^
// +----------------->只是判断是否$upload=1,而没有做任何身份的验证
copy($userfile,$basedir.$wdir.$userfile_name);
$lastaction = ""._UPLOADED." $userfile_name --> $wdir";
// This need a rewrite -------------------------------------> OMG! WE AGREEEEEEEE lmao
//include("header.php");
//GraphicAdmin($hlpfile);
//html_header();
//displaydir();
$wdir2="/";
chdir($basedir . $wdir2);
//CloseTable();
//include("footer.php");
Header("Location: admin.php?op=FileManager");
exit;
}
phpnuke是一个使用非常广泛的php程序,国内外有许多大的UNIX\GNU\Linux站点都是使用这套程序,而一般使用者都很少disable掉里面一些看起来非常强大,但实则容易出问题的函数。


