Проверяю уязвимости с этого списка, специально установил чистый опенкарт 1.5.2.1
По первому пункту, автор утверждает что если открыть следующий адрес: index.php?route=..\..\admin\index
То на виндовз платформе получим следующий результат:
Fatal error: Cannot redeclare error_handler() (previously declared in
C:\apache_www\opencart1521\index.php:78) in
C:\apache_www\opencart1521\admin\index.php on line 87
То есть что таким образом можно подключить произвольный файл, прописав в роуте route=..\..\admin\index
К сожалению у меня возможности протестировать все на виндовз нету но под линуксом я получил "Страница не найдена"
И я не понимаю, как можно это запустить, если в классе Action есть код:
str_replace('../', '', (string)$route)
то есть все "../" тупо удаляются
после чего
if (is_file(DIR_APPLICATION . 'controller/' . str_replace('../', '', $path) . '.php')) {
$this->file = DIR_APPLICATION . 'controller/' . str_replace('../', '', $path) . '.php';
подключается только существующий в папке DIR_APPLICATION . 'controller/ файл.
Уязвимость повторить не удалось - FALSE