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

Левые файлы в папке download ocstore 1.5.5.1.2


Raino

Recommended Posts

Недавно обнаружил пару подозрительных файлов в папке downloads вида "1024.php.jpg.рандомный набор", внутри оказался не зловред, а игрушка 1024, причем рядом валялся файл с лицензией на нее, такого-же формата :). Однако прецедент пугающий. Детальнее проблема описана здесь http://forum.opencart.com/viewtopic.php?f=179&t=135903 и судя по всему носит массовый характер. И если на чистом opencart проблема решается запретом загрузки файлов в магазин, то в ocstore эти настройки в админке я не нашел http://www.webhostinghub.com/help/images/stories/opencart/opencart15-options/opencart15-options-allowed-uploadextensions.gif и пришлось потанцевать с бубном. В общем, будьте внимательны граждане.

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


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

 

Радикальное решение. Из файла "catalog/controller/product/product.php" удалите функцию upload это не позволит вообще загружать файлы на сервер со стороны витрины магазина. А вот код для заливки файла через эту уязвимость, так, на всякий случай:

 

 

<html>
    <body>
        <form action="http://1541.ocstore.im/index.php?route=product/product/upload" method="post" enctype="multipart/form-data">
            <input type="file" name="file">
            <input type="submit" value="Upload">
        </form>
    </body>
</html> 
Надіслати
Поділитися на інших сайтах

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

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


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

то что по вашему скрину находится во вкладке сервер

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

Raino сказал(а) 24 Дек 2014 - 11:38 AM:

Недавно обнаружил пару подозрительных файлов в папке downloads вида "1024.php.jpg.рандомный набор", внутри оказался не зловред, а игрушка 1024, причем рядом валялся файл с лицензией на нее, такого-же формата :). Однако прецедент пугающий.

Файлы там появляются вполне легитимным путём. Есть магазины, которые работают с пользовательскими файлами. Если вам пришлют email с аттачем, пусть даже со зловредом - это будет пугающим прецендентом?

Опасность такие файлы могут представлять, когда злоумышленник может воспроизвести полное имя файла, с вон тем рандомным набором на конце. Рандомный набор можно подсчитать и воспроизвести, если знать ключ шифрования, указываемый в админке. Знать его можно было раньше, т.к. использовалось значение "12345". Пару вариантов фиксов предлагалось и уже довольно давно там генерится уникальная строка при каждой инсталляции.

Собственно, и всё по этой "угрозе". Ваш магазин просто проверяли в надежде, что ключ шифрования совпадёт.

Если магазин точно не работает с файлами покупателей, можно, конечно, и кардинально всё отрезать или сделать отключение этого аплоада через админку.

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


rb2, старая уязвимость. еще есть через загрузку файлов под демо пользователем

с недавних пор добавили в .htaccess

RewriteRule ^download/(.*) /index.php?route=error/not_found [L]

должно спасать

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

FAQ ОТВЕТ: ПОЧЕМУ МОДУЛЬ НЕ ДАЕТ СТОРОННИМ ПОЛЬЗОВАТЕЛЯМ ЗАГРУЖАТЬ ИЗОБРАЖЕНИЯ И ФАЙЛЫ НА СЕРВЕР

http://habrahabr.ru/post/224351/

Цитата:

    Здесь на помощь строителям демократии приходят и проблемы с настройкой try_files в nginx,
    и обрезание строки с помощью %00, и даже банальный обход проверки MIME и загрузки *.php напрямую
    (но это совсем тяжёлый случай, движки, грешащие этим, скорее всего имеют ещё пару десятков других дыр).


Т.е. иногда, защита зависит даже не от безопасного кода модуля, а от настроек хостера.

 

Т.е. это  "залет".

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

  • 2 weeks later...

rb2, старая уязвимость. еще есть через загрузку файлов под демо пользователем

с недавних пор добавили в .htaccess


RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
должно спасать

Ошибка здесь, кстати. В OC2 действительно такое правило, но папки `^download/` в доступе у апача нет.

tratata.ru/system/download/index.html честно отдаёт белую страницу (пустой index.html, который там есть из коробки).

Надо `^system/download/......`

Даже не так. Вот правильная строчка (слэш перед индекспхп тоже лишний):

RewriteRule ^system/download/(.*) index.php?route=error/not_found [L]
И аналогично на `system/upload` наверное. Не вижу причин, зачем посетителям отдавать апачем загруженные ими файлы. Хотя надо смотреть, как они админу отдаются при просмотре загруженных пользователями файлов.

UPD: А-а-а-а, понял. Я на OC2 смотрю, а в ocs15512 действительно папка `download` в корне. Ну тогда только слэш убрать перед index.php.

Змінено користувачем rb2
UPD OC2 vs ocs15512
  • +1 2
Надіслати
Поділитися на інших сайтах


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

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

Разве что переключателем.

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

А если что-то такое и надо принимать файлы - вздыхаешь, но уже по-другому, ставишь в крон какое-нибудь мелкое правило и скрипт проверяет наличие новых файлов в стрёмных папках раз в 10 минут и шлёт email-уведомления в случае чего.

Оно-то, конечно, можно всё перелопатить, там убрать, там добавить - но это же вечная проблема изменнного кода и совместимости с модулями.

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


  • 1 year later...

Разве что переключателем.

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

А если что-то такое и надо принимать файлы - вздыхаешь, но уже по-другому, ставишь в крон какое-нибудь мелкое правило и скрипт проверяет наличие новых файлов в стрёмных папках раз в 10 минут и шлёт email-уведомления в случае чего.

Оно-то, конечно, можно всё перелопатить, там убрать, там добавить - но это же вечная проблема изменнного кода и совместимости с модулями.

Вот-вот! И Я про то же. Нам нужно, чтоб клиент мог приложить свой фаил. Стоит ocstore 15512. Запретить загрузку фаила и напрягать клиента после заказа слать фаил на почту? Так на почту тоже вирусы присылают, мы их проверяем и открываем/или удаляем. Я не очень секу в данной теме, но верно ли я понимаю, что если фаил придет в корень в download, то могут каким то образом взломать? кстати, может это важно но у нас пароли космические и два пользователя со всеми правами, имена пользователей без admin...

Как быть то...расскажите, пожалуйста. Всю голову сломала, читая, то один форум, то другой....

 

И верно ли я поняла, что нужно добавить в htaccess:

RewriteRule ^download/(.*) index.php?route=error/not_found [L]               (без / перед index ? )

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


Вот-вот! И Я про то же. Нам нужно, чтоб клиент мог приложить свой фаил. Стоит ocstore 15512. Запретить загрузку фаила и напрягать клиента после заказа слать фаил на почту? Так на почту тоже вирусы присылают, мы их проверяем и открываем/или удаляем. Я не очень секу в данной теме, но верно ли я понимаю, что если фаил придет в корень в download, то могут каким то образом взломать? кстати, может это важно но у нас пароли космические и два пользователя со всеми правами, имена пользователей без admin...

Как быть то...расскажите, пожалуйста. Всю голову сломала, читая, то один форум, то другой....

 

И верно ли я поняла, что нужно добавить в htaccess:

RewriteRule ^download/(.*) index.php?route=error/not_found [L]               (без / перед index ? )

 

Если у Вас стоит OpenCart версии выше 1.5.4.1, то в папке download создайте файл .htaccess со следующим содержимым:

SetHandler send-as-is

Этого будет достаточно. даже если на сервер загрузят исполняемый php файл, то он будет не выполнен, а скачан)

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

Если у Вас стоит OpenCart версии выше 1.5.4.1, то в папке download создайте файл .htaccess со следующим содержимым:

SetHandler send-as-is

Этого будет достаточно. даже если на сервер загрузят исполняемый php файл, то он будет не выполнен, а скачан)

Огромное спасибо! Огроменное такое "спасибо") Сделаем, т.к. версия выше 1541

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


Огромное спасибо! Огроменное такое "спасибо") Сделаем, т.к. версия выше 1541

 

Я ошибся, решение актуально для всех версий. Так же, если не планируется скачивать пользователями файлы, то можно добавить в .htaccess (тот что в корне) правило:

RewriteRule ^download/(.*) /index.php?route=error/not_found [L]

Тогда в раздел вообще не войти извне. Только из админки, по-моему, можно будет скачать. Кстати, если пользователи загружают фотографии, то могу сделать предпросмотр (превью) загружаемых изображений. 

Змінено користувачем halfhope
Надіслати
Поділитися на інших сайтах

Я ошибся, решение актуально для всех версий. Так же, если не планируется скачивать пользователями файлы, то можно добавить в .htaccess (тот что в корне) правило:

RewriteRule ^download/(.*) /index.php?route=error/not_found [L]

Тогда в раздел вообще не войти извне. Только из админки, по-моему, можно будет скачать. Кстати, если пользователи загружают фотографии, то могу сделать предпросмотр (превью) загружаемых изображений. 

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

А вот фаилы для скачки будут, думаю. Рекомендации к продукции, хотя может мы их сделаем в виде картинки, пока еще не решила. Ваше решение, думаю, все таки пригодится. Спасибо еще раз, если что обращусь;)

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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