Актуальные киберугрозы веб-сайтов 2021 года

Хакерские атаки на веб-сайты в 2021 году

Ранее я уже давал комментарии по известному списку киберугроз и уязвимостей OWASP Top 10 (2017). В сегодняшней заметке я более подробно рассмотрю самые популярные киберугрозы 2021 года для веб-сайтов – с описанием принципов их работы и рекомендациями по защите. Тема очень интересная и актуальная, будет полезна каждому IT-специалисту.

XSS

XSS расшифровывается как Cross-Site Scripting – межсайтовый скриптинг. Уже само название подсказывает, что тут используется JavaScript. XSS – самый распространенный тип атак на сайты на сегодня. Первая атака известна еще в далеких 90-х. Работает по модели – клиент-сервер. Хакер использует доверие сервера и манипулирует отправкой содержимого на стороне клиента (браузера).

XSS Attack

Принцип работы:

Существует 2 варианты проведения XSS-атаки:

  1. Непостоянный XSS (Reflected XSS, атака не сохраняется на сайте, выполняется в одном запросе и ответе) – атакующий сканирует фаззером (например, OWASP Zap, XSStrike, Xsser) веб-сайт на различные динамические, уязвимые URL-адреса. В эти URL с помощью параметров хакер поставляет вредоносный JS-скрипт и отправляет с помощью прокси BurpSuite на сайт. Cервер не проверяет входящий код и принимает данные. Скрипт выполняется. Хакер получает данные;
  2. Постоянный XSS (Stored XSS, атака сохраняется на сайте, то есть заносится в базу данных) – атакующий находит различные HTML/JS объекты на сайте – формы, поля, кнопки, embed-блоки, виджеты и подобное. Потом с помощью прокси Burp Suite или других инструментов хакер делает GET-запрос, подставляет в объект свои данные, например дополнительный атрибут или значение, и отправляет на сайт. Сервер не фильтрует входящие данные и отправляет их в базу данных. Фактически, этот способ являет собой некую XSS-иньекцию;
  3. XSS через DOM (DOM-based XSS, Document Object Model – Объектная Модель Документа) – атакующий отправляет вредоносный JS-скрипт в DOM-структуру сайта, которая являет собой иерархию всех HTML-елементов на странице.

Цели атаки:

  • Кража cookies пользователя с последующей выборкой необходимых данных и использования их для дальнейших атак и взлома;
  • Внедрение вредоносного кода на сайте – различных баннеров, popup’ов, iframe, редиректов (Black Hat SEO);
  • Перехват данных введенных пользователями на сайте.

Как защититься?

  • Использовать надежный SSL;
  • Использовать TLS начиная с 1.2 версии (1.0 и 1.1 уже не поддерживаются браузерами из-за недостаточного шифрования);
  • Использовать HTTPS-протокол;
  • Использовать HSTS (принудительное HTTPS-соединение);
  • Использовать заголовок Content Security Policy и другие HTTP Security Headers (X-Frame-Options, X-Content-Type-Options, X-XSS-Protection, HTTP Set-Cookie);
  • Включить экранирование (кодирование) тегов HTML, JS, CSS (чтобы пользователь не мог внедрять свой код на сайте);
  • Включить фильтрацию и валидацию всех входящих данных на сайт;
  • Использовать технологию CAPTCHA ко всем полям и формам отправки данных на сайте;
  • Проводить постоянное администрирование – обновлять программное обеспечение на сервере, движок CMS, компоненты, темы, плагины. Настроить WAF (Web Application Firewall), установить модуль безопасности ModSecurity;
  • Проводить ежемесячные аудиты кибербезопасности сайта с помощью SAST-сканеров (проверка безопасности кода) и DAST-сканеров (динамические веб-сканеры);
  • Проводить ежемесячное тестирование функционала сайта (QA/Pentest) – проверять все кнопки, формы, поля и т.д.

CSRF

СSRF расшифровывается как Cross-Site Request Forgery (CSRF/XSRF) – межсайтовая подделка запросов. Опасная атака. Суть ее заключается в том, что от “лица” пользователя вредоносный скрипт (malware) выполняет несанкционированные HTTP-запросы. Таким образом, хакер “руками” других может выполнять различные вредоносные действия. Прообраз CSRF был обнаружен еще в 1988 году, но сам термин зарегистрирован в 2000-х.

Актуальные киберугрозы веб-сайтов 2021 года

Принцип работы: Жертва получает на свой email уведомление с фишинговой ссылкой на якобы страницу входа в ее аккаунт (аля “ваш кошелек или ваш домен заблокирован, срочно войдите для возобновления”). Жертва переходит по URL на сайт-зеркало, авторизуется и передает злоумышленникам свои cookies. После этого данные жертвы пересылаются третьему лицу. От лица жертвы хакеры могут выполнять различные действия, например отправлять средства c банковской карты на свои счета, рассылать спам, переходить по сайтам и ссылкам (бот-трафик), изменить логин и пароль, и т.д. Принцип CSRF условно можно отнести к видам атак Man-In-The-Middle (Человек посередине).

Как защититься?

  • См. XSS;
  • Использовать токенизацию запросов (уникальный токен для каждой сессии/операции);
  • Защитить и запретить сканирование сетевых портов, блокировать все подозрительные запросы к серверу, включить WAF;
  • По возможности, включать в опциях своего браузера – “Не принимать куки со сторонних сайтов”;
  • Настроить на сервере отправку cookies с атрибутом ‘SameSite’;

SSRF

SSRF – это Server Side Requery Forgery (Межсерверная подделка запросов). Атака имеет схожесть с СSRF, но только в качестве жертвы выступает не сайт (сторона клиента-браузера), а сервер. Злоумышленник от имени уязвимого сервера может выполнять различные вредоносные операции внутри сети или по отношению к сторонним серверам/ресурсам.

Актуальные киберугрозы веб-сайтов 2021 года

Принцип работы:

  • Хакер с помощью Google Dorks или других техник (сканирование портов) ищет пути взлома на сервере. К примеру, это может быть функционал загрузки изображений на сайт из URL-адреса или любая другая функция импорта/публикации данных. Хакер начинает этим манипулировать. В итоге он находит лазейку и взламывает сервер.

Цели атаки:

  • Получить метаданные сервера, просканировать внутреннюю сеть/интерфейсы, собрать конфиденциально-важную информацию о компании;
  • Получить доступ к локальным файлам корпоративного сервера;
  • APT-атака на внутреннюю инфраструктуру компании/учреждения/государственной системы;
  • Зачистить следы хакерской атаки, например после DDos/Brute-force, использовав fingerprint чужого сервера;

Как защититься?

SQL-injection

SQL-иньекция – распостраненный тип кибер-угрозы, которая использует ту же уязвимость, что и XSS – отсутствие проверки сервером входящих данных. Только реализируется уже не через JS-скрипты, а SQL-запросы. Это намного сложнее и опаснее XSS, т.к. тут необходимо глубокое знание синтаксиса и операторов SQL. Вредительные запросы к базе данных способны полностью уничтожить сайт!

Актуальные киберугрозы веб-сайтов 2021 года

Принцип работы:

  1. Метод №1. Атакующий сканирует сайт на наличие HTML-форм, input-полей, iframe, динамических страниц, листингом и других уязвимых объектов. Затем посылает SQL-запрос в виде плейсхолдера (playsholder), который состоит из переменных и значений. Сервер принимает его и отправляет в базу данных. Сайт скомпрометирован.
  2. Метод №2. Атакующий сканирует утилитой NMAP сетевые порты сервера, на котором расположен сайт, чтобы обнаружить открытый SQL-порт (3306 для MySQL) и версию базы данных (MySQL/MariaDB/Postgre/Mongo и т.д.). Затем с помощью утилит командной строки, например SQLmap + Metasploit, хакер подключается к базе и проводит инжекцию, читает/редактирует/удаляет таблицы и ячейки БД.

Как защититься?

  • См. XSS, CSRF, SSRF.
  • Использовать экранирование, фильтрацию, валидацию входящих запросов;
  • Установить пароль для подключения к базе данных (часто бывает, когда доступ к БД для root-пользователя осуществляет без пароля);
  • Всегда закрывать сетевые порты, на которых расположены базы данных;
  • Учитывать GET и POST параметры, которые могут быть переданы пользователем на сайт;
  • Для сайтов на WordPress – обязательно поменять префикс базы данных (по умолчанию стоит wp_);
  • Использовать хеширование для хранения данных в БД;
  • Регулярно создавать дамп базы данных (резервное копирование);
  • Проводить аудит базы данных с помощью PhpMyAdmin и MySQLtuner.

XXE

XXE расшифровывается как XML eXternal Entity. Из названия понятно, что данная атака направленная на XML-код. XML означает – Extensible Markup Language (XML).

Актуальные киберугрозы веб-сайтов 2021 года

Принцип работы:

  • Метод №1. Хакер отправляет жертве или загружает на сайт XML-документ с вредоносным кодом. Файл открывается и приводится код в действие;
  • Метод №2. Хакер находит на сайте XML-содержимое (напр., SVG, Sitemap) и, как в XSS, с помощью прокси Burp Suite внедряет в XML, в секцию DTD внешнюю сущность (external entity) с вредоносным кодом и, используя отсутствие проверки входящих запросов, отправляет на сервер.

Цели атаки:

  • DDOS (Distributed Denial of Service, Отказ в обслуживании);
  • Получение несанкционированного доступа к системным папкам и файлам сервера (напр., /etc/passwd);
  • Перехват данных введенных пользователями на сайте.

Как защититься?

  • См. XSS, CSRF, SSRF, SQLi;
  • По возможности отказаться от XML и использовать JSON-формат;
  • Использовать XML-шифрование;
  • Проводить валидацию XML-кода;
  • Отключить на сайте протокол XML-RPC, который удаленно принимает данные в виде XML-документа (заблокировать доступ к xmlrpc.php);

Полезные ссылки

голосов
Рейтинг статьи
Подписка на сайт KRV

Получайте регулярные обновления на почту!   


Author
Konrad Ravenstone/ автор статьи
Специалист по информационной и компьютерной безопасности. Системный интегратор, администратор. Занимаюсь комплексным обслуживанием веб-сайтов и IT инфраструктуры. Подробнее>>
Поделиться материалом в соцсетях:
KRV — IT блог о веб-технологиях, и не только
1 Комментарий
Встроенные отзывы
Просмотреть все комментарии
Alex
Alex
1 месяц назад

Everything is covered very correctly and competently. Many thanks to the author of the article. It is now very relevant. It should be read by all network administrators.

1
0
Оставьте свой комментарийx
()
x