Сообщение от
XAMEHA
TRX.new
, Если можно использовать Windows-слэши, то используйте их, с UNIX-слэшами никак нельзя(Предполагается, что
$this->file
попадает в инклуд).
Вот сюда в итоге попадает $file
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]private function[/COLOR][COLOR="#0000BB"]execute[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$action[/COLOR][COLOR="#007700"]) {
[/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$action[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getFile[/COLOR][COLOR="#007700"]();
...
if ([/COLOR][COLOR="#0000BB"]file_exists[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"])) {
require_once([/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"]);[/COLOR][/COLOR]
Виндовые слеши не отрабатывают, т.к. все на Linux.
Тогда такой вопрос: есть два разных сервака. На одном OpenCart 1.5.3.1 на другом 1.5.2.1. Методами, описанными в статье waraxe, я залил файл на оба сервера в папку download , но на 1.5.3.1 shell выполняется , а на 1.5.2.1 нет. Причем стоит заметить что я заливаю файл test.php.jpg , на сервере имя формируется так test.php.jpg.{md5(mt_rand())}. Имя файла на сервере узнать легко, поэтому это не проблема. Задача на сервере с 1.5.2.1 выполнить shell , но там получаю файл как картинку.
Версия PHP на обоих серваках : 5.2.17
Также в корне сайта есть php.ini
1.5.3.1 :
Код:
magic_quotes_gpc = Off;
register_globals = off;
default_charset = UTF-8;
memory_limit = 64M;
max_execution_time = 18000;
upload_max_filesize = 999M;
safe_mode = Off;
mysql.connect_timeout = 20;
session.use_cookies = On;
session.use_trans_sid = Off;
session.gc_maxlifetime = 12000000;
allow_url_fopen = on;
display_errors = 1;
error_reporting = E_ALL;
1.5.2.1:
Код:
magic_quotes_gpc = Off;
magic_quotes_runtime = Off;
magic_quotes_sybase = Off;
register_globals = Off;
default_charset = UTF-8;
memory_limit = 64M;
max_execution_time = 18000;
upload_max_filesize = 999M;
safe_mode = Off;
mysql.connect_timeout = 20;
session.use_cookies = On;
session.use_trans_sid = Off;
session.gc_maxlifetime = 12000000;
allow_url_fopen = on;
date.timezone = Asia/Yekaterinburg;
;display_errors = 1;
;error_reporting = E_ALL;
Не думаю, что они положили отдельный файлик .htaccess в папку download.
Цель : выполнить shell на серве с 1.5.2.1