Re: Re: Remote File Variable Injection Safety?

From: Date: Thu, 08 Jan 2009 00:37:17 +0000
Subject: Re: Re: Remote File Variable Injection Safety?
References: 1 2 3 4 5 6 7 8 9 10 11  Groups: php.general 
Request: Send a blank email to php-general+get-285627@lists.php.net to get a copy of this message
Daniel Kolbo wrote: > > Shawn McKenzie wrote: >> Daniel Kolbo wrote: >> >>> Hello, >>> >>> suppose there is a file at >>> http://otherhost.com/remote.php that looks >>> like this: >>> >>> <?php >>> if (!isset($safe_flag)) >>> { >>> die("hacking attempt"); >>> } >>> echo "You are in"; >>> ?> >>> >>> Suppose i executed the following php file at >>> http://myhost.com/local.php >>> >>> <?php >>> require_once("http://otherhost.com/remote.php"~­ >>> Šðzc3Ðo’rU); >>> ?> >>> >>> Is there any way to get local.php to display "You are in", by only >>> modifying local.php? That is, is there a way to set $safe_flag on the >>> remote host as one requests a file from the remote host from within >>> local.php? >>> >>> I have genuine, academic, non-belligerent intentions when asking this >>> question. >>> >>> Thanks, >>> dK >>> >>> >>> >>> >> >> local.php >> >> <?php >> >> $safe_flag = 1; >> require_once("http://otherhost.com/remote.php"); >> >> ?> >> >> > The proposed method does not work, as the script returned from > remote.php is "hacking attempt", because $safe_flag is in the scope of > myhost.com and not otherhost.com. > dK Of course I was wrong, but not for the reason you state. There is no file "scope" regardless of where the file resides. The reason it doesn't work is because remote.php code is note included/required. The code is run on the remote server and the result is included in the local .php. Since the result is "hacking attempt", then that is what is included. Sorry for my quick reply. -Shawn

« previous php.general (#285627) next »