Аудит безопасности сайта на OpenCart

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

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Аудит безопасности сайта на OpenCart
Средняя
~2-3 рабочих дня
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    874
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    851

Аудит безопасности сайта на OpenCart

OpenCart — частая цель атак из-за популярности и предсказуемых путей к административной панели. Основные векторы: устаревшие расширения с уязвимостями, слабые пароли, незащищённый admin-путь, открытый phpMyAdmin.

Инструменты сканирования

# Сканирование директорий
ffuf -w /usr/share/wordlists/dirb/common.txt -u https://shop.com/FUZZ -mc 200,301

# Проверка заголовков
curl -I https://shop.com/ | grep -i "x-powered\|server\|x-content\|x-frame"

# SSL конфигурация
testssl.sh --fast https://shop.com/

Контрольный список

Путь к административной панели:

Стандартный: /admin/ — первое, что проверяют боты
Изменить в admin/config.php:
define('HTTP_SERVER', 'https://shop.com/my_secret_admin_path/');
# Nginx: ограничить доступ к admin по IP
location /admin {
    allow 1.2.3.4;
    deny all;
}

Файлы, которые нужно удалить:

# Обязательно удалить после установки
rm -rf install/
ls /var/www/shop.com/install/  # не должно существовать

# Закрыть phpinfo если есть
find /var/www/shop.com -name "phpinfo.php" -type f -delete

Права файлов:

find /var/www/shop.com -name "config.php" -type f
stat /var/www/shop.com/config.php
# 644 максимум, лучше 444

# PHP в upload-директории
find /var/www/shop.com/image/ -name "*.php"
find /var/www/shop.com/system/storage/upload/ -name "*.php"
# Запретить PHP в директориях загрузки
location ~* /image/.*\.(php|phtml)$ { deny all; }
location ~* /system/storage/upload/.*\.(php|phtml)$ { deny all; }

Версия OpenCart и расширений:

# Версия в файле
grep "VERSION" /var/www/shop.com/catalog/controller/startup/startup.php
# Актуальная: github.com/opencart/opencart/releases

Проверка расширений на CVE: Искать в базе уязвимостей: https://nvd.nist.gov/vuln/search?query=opencart

Защита от SQL Injection в кастомных расширениях:

// Небезопасно (распространённая ошибка в старых расширениях)
$result = $this->db->query("SELECT * FROM " . DB_PREFIX . "product WHERE sku = '" . $_GET['sku'] . "'");

// Правильно
$sku = $this->db->escape($_GET['sku']);
$result = $this->db->query("SELECT * FROM " . DB_PREFIX . "product WHERE sku = '" . $sku . "'");

CSRF защита: OpenCart использует токены в формах. Кастомные формы без токенов — уязвимы:

// Проверка токена в кастомном контроллере
if (!isset($this->session->data['token']) || $this->session->data['token'] != $this->request->post['token']) {
    $this->response->setOutput(json_encode(['error' => 'CSRF token mismatch']));
    return;
}

Двухфакторная аутентификация: Установить расширение «2 Factor Authentication for OpenCart» из Marketplace.

Регулярные бэкапы: Automate backup: Admin → System → Settings → кнопка Backup/Restore — только для ручного бэкапа. Для автоматического — cron + mysqldump.

Мониторинг изменений файлов

# Записать хэши всех PHP-файлов
find /var/www/shop.com -name "*.php" -exec md5sum {} \; > /backups/checksums-$(date +%Y%m%d).txt

# Сравнить с предыдущей версией
diff /backups/checksums-yesterday.txt /backups/checksums-today.txt
# Изменённые файлы — подозрительны

Сроки

Аудит безопасности OpenCart с отчётом — 1 день.