Актуальные киберугрозы веб-сайтов 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);

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

Оценка:
( 1 оценка, среднее 5 из 5 )
Подписка на KRASHENININ.TECH

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


Author
Виталий Крашенинин/ автор статьи
Digital-жрец блога Krasheninin.tech, публицист, аналитик, исследователь веб-технологий. С 2011 года в IT. Сфокусирован на кибербезопасности, системном администрировании, создании сайтов и SEO. Подробнее>>
Поделиться материалом в соцсетях:
KRASHENININ.TECH - блог о веб-технологиях, и не только
Подписаться
Уведомление о
guest
2 Комментарий
Встроенные отзывы
Просмотреть все комментарии
Alex
Alex
17 дней назад

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.

2
0
Есть мысли? Прокомментируй!x
()
x