Тестирование инфраструктуры и DevOps

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

ТЕСТИРОВАНИЕ ИНФРАСТРУКТУРЫ И DEVOPS

Обратное прокси-тестирование

Злоупотребление заголовками переходов

Резюме: добавление известных пошаговых заголовков к значениям заголовка Connection: может привести к тому, что неправильно настроенные обратные прокси-серверы и/или балансировщики нагрузки удалят эти пошаговые заголовки, что приведет к непредсказуемым ответам.

Цели:

  • Обход контроля доступа
  • Внутренние технологии/услуги по отпечаткам пальцев
  • Получите ценную информацию о том, как приложение обрабатывает запросы.
  • Выдавать сообщения об ошибках
  • Обход WAF (или других защитных механизмов)

Отравление веб-кеша

Резюме: Отравление веб-кэша происходит, когда злоумышленник заставляет веб-кэш хранить вредоносное содержимое и предоставлять это вредоносное содержимое клиентам-жертвам. Web Cache Poisoning — это скорее средство проведения атак, а не сама атака, и может быть использовано для воздействия на такие уязвимости, как XSS.

Цели:

  • Принудительная отправка приложением ответа, содержащего опасные полезные данные (например, XSS).
  • Кэшируйте вредоносный ответ и заставляйте жертву получать доступ к вредоносному ответу из веб-кэша.

Обман веб-кеша

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

Цели:

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

Контрабанда HTTP-запросов

Резюме: Контрабанда HTTP-запросов происходит, когда злоумышленник отправляет специально созданный запрос, который вызывает десинхронизацию интерфейсных прокси-серверов и внутренних серверов. Эта уязвимость возникает, когда фронтенд-прокси интерпретируют запрос как один запрос, а внутренние серверы — как два отдельных запроса (или наоборот).

Цели:

  • Byass интерфейсные элементы управления безопасностью (например, конечная точка доступа /admin, которая обычно возвращает ошибку 403).
  • Выявляйте изменения, которые внешний интерфейс вносит во входящие запросы.
  • Фиксируйте запросы других пользователей.
  • Увеличьте влияние отраженного XSS, используя контрабанду HTTP-запросов для доставки полезных данных XSS.
  • Увеличьте влияние внутреннего открытого перенаправления на широко открытое перенаправлени
  • Используйте контрабанду HTTP-запросов для отравления/обмана веб-кэша.

H2C Контрабанда

Резюме: Открытый текст HTTP/2 (h2c) - это вариант протокола HTTP/2, который не использует шифрование, что обеспечивает более быструю связь, но без преимуществ безопасности HTTPS. Обычно он используется в ситуациях, когда безопасность не является первостепенной задачей, хотя его использование менее рекомендуется из-за потенциальных уязвимостей.

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

Цели:

  • Обход элементов управления безопасностью (например, конечная точка доступа /admin, которая обычно возвращает ошибку 403).
  • Обход правил брандмауэра веб-приложения (WAF)
  • Доступ к внутренним/привилегированным веб-приложениям
  • Выявляйте изменения, которые внешний интерфейс вносит во входящие запросы.
  • Фиксируйте запросы других пользователей.
  • Увеличьте влияние отраженного XSS, используя контрабанду HTTP-запросов для доставки полезных данных XSS.
  • Увеличьте влияние внутреннего открытого перенаправления на широко открытое перенаправление.
  • Используйте контрабанду HTTP-запросов для отравления/обмана веб-кэша.

Внедрение XSLT на стороне сервера

Резюме: Extensible Stylesheet Language Transformations (XSLT) — это язык программирования, используемый для преобразования и манипулирования XML-документами в различные форматы, такие как HTML, текст или другие XML-структуры. Он позволяет разработчикам определять шаблоны и правила для извлечения и переупорядочивания данных из XML-документов, облегчая преобразование данных между различными представлениями.

Наиболее часто используемые фреймворки: Libxslt (Gnome), Xalan (Apache) и Saxon (Saxonica).

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

Цели:

  • Заставить целевой сервер выполнять непреднамеренные HTTP-запросы, что приводит к подделке запросов на стороне сервера (SSRF).
  • Чтение содержимого конфиденциальных файлов на целевом сервере
  • Выполнение произвольных команд на целевом сервере, получение удаленного выполнения кода (RCE)

Введение Edge Side Injection (ESI)

Резюме: Edge-Side Includes (ESI) — это стандарт веб-ускорения, который обеспечивает динамическую сборку контента на границе сети доставки контента (CDN). Он позволяет извлекать и объединять различные компоненты веб-страницы в режиме реального времени из различных источников, сокращая время загрузки страницы и снижая нагрузку на сервер-источник.

Запросы Edge Side Includes (ESI) обрабатываются сервером сети доставки содержимого (CDN), в частности, в подсистемах балансировки нагрузки CDN. Если злоумышленник может внедрить элемент ESI в ответ веб-приложения, использующего ESI, он может использовать этот механизм для доступа к конфиденциальным файлам или даже выполнения вредоносных команд на целевом сервере.

Цели:

  • Кража действительных файлов cookie у целевой жертвы для повышения привилегий и/или несанкционированного доступа к учетной записи жертвы.
  • Чтение переменных среды, используемых на целевом сервере
  • Чтение содержимого конфиденциальных файлов на целевом сервере
  • Выполнение произвольных команд на целевом сервере, получение удаленного выполнения кода (RCE)

Отравление заголовка хоста

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

Цели:

  • Обнаружение скрытых/внутренних приложений.
  • Используйте неправильные конфигурации для выполнения атаки с отравлением веб-кэша.
  • Поиск недостатков бизнес-логики и/или уязвимостей обхода аутентификации.
  • Используйте неправильные конфигурации для выполнения атаки подделки запросов на стороне сервера (SSRF).
  • Уязвимости на стороне клиента, возникающие из-за отраженного заголовка хоста (XSS, SSTI, HTMLi и т.д.)
  • Уязвимости, связанные с внедрением на стороне сервера, связанные с передачей заголовка хоста в запросы к базе данных (SQLi, NoSQLi и т. д.)

Подмена IP-адреса

Резюме: Большинство обратных прокси захватывают IP-адрес клиента и используют это значение каким-либо образом. В тех же случаях прокси-сервер также будет использовать значения заголовков или другие источники, чтобы каким-либо образом изменить значение IP-адреса клиента. Если злоумышленник может манипулировать этим поведением и управлять своим IP-адресом удаленного сокета в контексте приложения, он может вызвать неожиданное поведение и потенциально обойти элементы управления безопасностью.

Цели:

  • Обход ограничений перебора на основе IP-адреса
  • Доступ к привилегированным областям в приложении, ограниченным IP-адресом
  • Доступ к внутренним приложениям, ограниченным IP-адресом
ТЕСТИРОВАНИЕ ИНФРАСТРУКТУРЫ И DEVOPS

Облачное тестирование

Неправильная конфигурация корзины AWS S3

Резюме: Корзины Amazon S3 – это масштабируемые и безопасные контейнеры хранилища в Amazon Web Services, которые хранят данные, файлы и объекты и управляют ими, доступ к которым осуществляется через уникальные URL-адреса.

Цели:

  • Чтение конфиденциальных данных, хранящихся в корзине S3
  • Загрузка вредоносных файлов в корзину S3
  • Изменение содержимого критически важных данных, хранящихся в корзине S3
  • Удаление критически важных данных и файлов, хранящихся в корзине S3
  • Извлечение файлов резервных копий, содержащих конфиденциальные данные
  • Перечисление скрытых имен корзин S3

Неправильная конфигурация AWS CloudFront

Резюме: AWS CloudFront – это сервис доставки контента, предоставляемый Amazon Web Services в сотрудничестве с Cloudflare, предназначенный для распространения и ускорения передачи контента, видео, приложений и API пользователям по всему миру с низкой задержкой и высокой скоростью передачи.

Цели:

  • Доставляйте контент из вредоносного инстанса AWS CloudFront, принадлежащего злоумышленнику, используя старую запись DNS для захвата субдомена.

Неправильная конфигурация AWS IAM/STS

Резюме: AWS IAM (Identity and Access Management) – это сервис, который управляет доступом к ресурсам AWS, управляя пользователями, группами, разрешениями и аутентификацией. AWS STS (Security Token Service) – это сервис, который предоставляет временные учетные данные для доступа к ресурсам AWS, помогая повысить безопасность за счет минимизации раскрытия долгосрочных учетных данных. AWS IAM настраивает идентификаторы пользователей и их разрешения, в то время как AWS STS выдает этим аутентифицированным пользователям временные токены безопасности, обеспечивая безопасный и ограниченный доступ к ресурсам без необходимости долгосрочных учетных данных.

Цели:

  • Перечисление ролей и пользователей между учетными записями без надлежащей аутентификации и авторизации

Неправильная конфигурация AWS Elastic Beanstalk

Резюме: AWS Elastic Beanstalk – это платформа как услуга (PaaS), которая упрощает развертывание веб-приложений и сервисов и управление ими. Он автоматически обрабатывает базовую инфраструктуру, такую как подготовка, масштабирование, балансировка нагрузки и мониторинг работоспособности приложений, позволяя разработчикам сосредоточиться исключительно на своем коде

Цели:

  • Получение публичного доступа к внутренним экземплярам Elastic Beanstalk
  • Обход средств управления безопасностью и доступом, настроенных с помощью Elastic Beanstalk
  • Доступ к коду приложения, хранящемуся в общедоступных корзинах S3 в приложениях Elastic Beanstalk

Неправильная конфигурация шлюза AWS API

Резюме: AWS API Gateway – это управляемый сервис, который позволяет создавать, развертывать и управлять API-интерфейсами RESTful для безопасного подключения и предоставления серверных сервисов и функций для приложений.

Цели:

  • Обход ограничений на конечные точки API путем злоупотребления логическими недостатками в синтаксисе IAM для управления доступом

Неправильная конфигурация AWS Cognito

Резюме: AWS Cognito – это полностью управляемый сервис, который обеспечивает аутентификацию, авторизацию и управление пользователями для веб-приложений и мобильных приложений. Он позволяет разработчикам легко добавлять функции регистрации и входа пользователей, а также интегрироваться со сторонними поставщиками удостоверений, такими как Google, Facebook и Amazon.

Цели:

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

AWS открыла конфиденциальную базу данных документов

Резюме: AWS DocumentDB – это полностью управляемый, масштабируемый сервис баз данных NoSQL, совместимый с MongoDB, предназначенный для обеспечения высокой производительности и доступности при хранении, запросах и управлении документо-ориентированными данными.

Цели:

  • Установка несанкционированного подключения к неправильно настроенному экземпляру DocumentDB

Неправильная конфигурация AWS EC2

Резюме: Инстанс AWS EC2 (Elastic Compute Cloud) – это виртуальный сервер в составе Amazon Web Services, который позволяет пользователям арендовать масштабируемые вычислительные ресурсы, такие как вычислительная мощность и память, для запуска приложений и сервисов по требованию в облаке.

Цели:

  • Загрузите файл Amazon Machine Image (AMI) неправильно настроенного частного EC2
  • Перебор шаблонов общедоступных URL-адресов для потенциального обхода элементов управления безопасностью
  • Перечисление частных инстансов EC2, неправильно настроенных с публичным IP-адресом

Неправильная конфигурация AWS SNS

Резюме: AWS SNS (Simple Notification Service) – это полностью управляемый сервис обмена сообщениями, который позволяет отправлять уведомления и оповещения на различные конечные точки, такие как электронная почта, SMS и адреса приложений.

Цели:

  • Обход ограничений управления доступом для публикации или подписки на внутреннюю тему SNS

Неправильная конфигурация AWS RDS

Резюме: AWS RDS (Relational Database Service) – это облачный сервис, который упрощает управление базами данных, выполняя такие задачи, как настройка, масштабирование и обслуживание различных ядер реляционных баз данных, позволяя пользователям сосредоточиться на создании приложений.

Цели:

  • Установка несанкционированного подключения к неправильно настроенному экземпляру RDS
  • Перечисление и скачивание внутренних/конфиденциальных моментальных снимков RDS
ИНФРАСТРУКТУРА И DEVOPS-ТЕСТИРОВАНИЕ

Тестирование веб-серверов

Распространенные уязвимости и риски (CVE)

Резюме: CVE расшифровывается как Common Vulnerabilities and Exposures (Общие уязвимости и риски). Это система, используемая для выявления и ссылки на общеизвестные уязвимости и уязвимости информационной безопасности. По сути, CVE используются для отслеживания и каталогизации уязвимостей в различных программных системах, аппаратных устройствах и других технологических компонентах, которые потенциально могут быть использованы злоумышленниками. Известно, что из более чем 200 000 зарегистрированных CVE тысячи влияют на обычные веб-приложения, используемые сегодня.

Цели:

  • Несанкционированный доступ к системам или сетям.
  • Кража конфиденциальных данных, таких как личная и финансовая информация.
  • Запуск программы-вымогателя для шифрования данных жертвы и требования выкупа.
  • Получите контроль над скомпрометированными системами в злонамеренных целях.
  • Повышение привилегий в скомпрометированной системе.
  • Запускайте распределенные атаки типа «отказ в обслуживании» (DDoS) для нарушения работы служб.
  • Доставка полезной нагрузки вредоносного ПО через уязвимости.
  • Создание скрытых бэкдоров для постоянного доступа.
  • Доступ к привилегированным учетным записям и критически важной информации.
  • Нарушение работы систем из-за сбоев или нестабильности.
  • Разведка целевых сетей для планирования дальнейших атак.
  • Распространение на взаимосвязанные системы для более широкого влияния.
  • Финансовая выгода за счет несанкционированного доступа к финансовым системам.
  • Кража интеллектуальной собственности и проприетарного программного обеспечения.
  • Шпионаж в целях политической, экономической или военной разведки.

Открытые файлы конфигурации

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

Цели:

  • Извлечение строк подключения к базе данных или учетных данных из файлов конфигурации базы данных, таких как application.properties
  • Чтение конфиденциальных данных, хранящихся в файлах переменных среды, таких как env.js или .env
  • Использование логических недостатков для обхода средств управления безопасностью, реализованных в маршрутизации веб-сервера, настроенной в таких файлах, как httpd.conf или .htaccess
  • Файлы с ключами шифрования, сертификатами и конфигурациями расшифровки в таких файлах, как keystore.jks или openssl.cnf

Внедрение на стороне сервера (SSI)

Резюме: Server Side Includes (SSI) - это технология веб-сервера, которая позволяет встраивать динамический контент в веб-страницы. Он позволяет включать внешние файлы или данные в вывод HTML, облегчая обновление и повторное использование контента в масштабах всего сайта.

Если злоумышленник может внедрить HTML-содержимое в веб-приложение, использующее SSI, он может использовать этот механизм для доступа к конфиденциальным файлам или даже выполнения вредоносных команд на целевом сервере.

Цели:

  • Чтение или установка переменных среды, используемых на целевом сервере
  • Чтение содержимого конфиденциальных файлов на целевом сервере
  • Выполнение произвольных команд на целевом сервере, получение удаленного выполнения кода (RCE)
  • Файлы с ключами шифрования, сертификатами и конфигурациями расшифровки в таких файлах, как keystore.jks или openssl.cnf

Раскрытие информации

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

Цели:

  • Извлечение части структуры каталогов и исходного кода с помощью трассировки стека
  • Эксфильтрация жестко закодированных учетных данных из исходного кода
  • Идентификация номеров версий, связанных с известными CVE
  • Извлечение конфиденциальной или ценной информации с помощью подробных пользовательских сообщений об ошибках
ТЕСТИРОВАНИЕ ИНФРАСТРУКТУРЫ И DEVOPS

Тестирование системы доменных имен (DNS)

Перепривязка DNS

Резюме: Повторная привязка DNS - это метод, при котором злоумышленник обманывает браузер жертвы, заставляя его выполнять запросы к домену вредоносного веб-сайта, который первоначально разрешается в контролируемый злоумышленником IP-адрес, а затем изменяется на адрес локальной сети жертвы. Это позволяет злоумышленнику обойти политику единого источника браузера и потенциально взаимодействовать с локальными сетевыми устройствами или службами.

Цели:

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

Захват поддомена

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

Цели:

  • Используйте скомпрометированный поддомен для проведения сложных и высокоэффективных фишинговых кампаний
  • Внедрение вредоносного содержимого в любое веб-приложение, использующее поддомен
  • Кража действительных сеансовых файлов cookie из учетных записей пользователей в любом веб-приложении, использующем скомпрометированный поддомен
  • Зарегистрируйте вредоносную MX-запись на внешнем почтовом сервере для проведения сложных и высокоэффективных фишинговых кампаний

Тестирование основного приложения

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

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

ТЕСТИРОВАНИЕ ОСНОВНОГО ПРИЛОЖЕНИЯ

Глобальное тестирование конфигурации приложения

Политика безопасности контента (CSP)

Резюме: Политика безопасности контента (CSP) определяет правила, которым будет следовать браузер, чтобы определить, какие ресурсы (изображения, фреймы, JavaScript и т. д.) могут быть загружены и откуда они могут быть загружены. Неверными конфигурациями можно злоупотреблять и/или эксплуатировать.

Цели:

  • Выявите неправильные настройки CSP, которые открывают возможность использования других уязвимостей
  • Определите неправильные конфигурации, которые можно использовать напрямую (например, XSS).

Совместное использование ресурсов между источниками (CORS)

Резюме: CORS используется для управления тем, к каким ресурсам внешние страницы могут получить доступ из определенного полного доменного имени. При неправильной настройке злоумышленник может создать вредоносную веб-страницу, использующую JavaScript для доступа к конфиденциальным данным и передать эти данные (посредством запроса GET) на сервер злоумышленника. Конфиденциальные данные затем можно прочитать в журналах сервера злоумышленника.

Цели:

  • Получите доступ к конфиденциальным данным, создав вредоносную веб-страницу, которая отправляет запрос с использованием файла cookie жертвы уязвимому приложению.
  • Используйте слабые настройки CORS для запуска CSRF-атак, обманным путем заставляя прошедших проверку пользователей выполнять нежелательные действия в другом домене.

Зависимость Путаница/злоупотребление

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

Цели:

  • Создайте вредоносный пакет с тем же именем, что и у внутренней зависимости, и загрузите его в общедоступный репозиторий, чтобы разработчики могли установить его по незнанию.
  • Создайте пакет с номером версии, похожим на законный, чтобы использовать конфигурации диапазона версий.
  • Зарегистрируйте похожие имена доменов или пакетов, чтобы использовать опечатки разработчиков.
  • Создавайте пакеты с именами, напоминающими законные зависимости, чтобы обмануть разработчиков.
  • Разработайте пакет, который выглядит безобидным, но зависит от уязвимых пакетов для будущих атак.
  • Используйте методы социальной инженерии, такие как фишинг, для извлечения конфиденциальной информации.
  • Скомпрометировать поставщика программного обеспечения и внедрить вредоносный код в широко используемые пакеты.
  • Создавайте пакеты для кражи конфиденциальных учетных данных в среде выполнения.
  • Крафт-пакеты для кражи и эксфильтрации данных.
  • Используйте уязвимости во внедренных пакетах для удаленного выполнения кода.

Неправильная конфигурация веб-токена JSON (JWT)

Резюме: Веб-токены JSON (JWT) — это компактный и автономный способ представления информации между сторонами в виде объекта JSON. Они обычно используются для аутентификации и авторизации в веб-приложениях, где токен содержит утверждения, предоставляющие информацию о пользователе и его разрешениях.

Цели:

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

Отсутствуют заголовки безопасности

Резюме: Заголовки безопасности — это заголовки ответов HTTP, которые веб-серверы используют для повышения безопасности веб-приложений. Эти заголовки содержат инструкции для браузера о том, как обрабатывать различные аспекты, связанные с безопасностью, такие как загрузка контента, выполнение сценариев и политики связи, помогая снизить потенциальные уязвимости и атаки, такие как межсайтовый скриптинг (XSS) и кликджекинг.

Цели:

  • Встроить веб-приложение в iframe на вредоносном сайте из-за отсутствия заголовка X-Frame-Options.
  • Воспользуйтесь отсутствием заголовков X-Content-Type-Options для анализа содержимого, что потенциально может привести к выполнению неожиданных сценариев или контента.
  • Выполнять действия от имени прошедших проверку подлинности пользователей без их согласия из-за отсутствия заголовков защиты CSRF, таких как SameSite и X-Requested-With.
  • Манипулируйте сериализованными данными, используя отсутствие заголовков безопасности, таких как Content-Type, что потенциально может привести к удаленному выполнению кода.
  • Соберите информацию о технологиях, инфраструктуре или уязвимостях веб-приложения из-за отсутствия заголовков безопасности.
  • Установите файлы cookie сеанса или перехватите сеансы пользователей, используя отсутствующие заголовки управления сеансом.
  • Обманом заставляют пользователей загружать вредоносные файлы, манипулируя ответами из-за отсутствия заголовков, таких как Content-Disposition.
  • Перехватывайте и вмешивайтесь в обмен данными между пользователем и веб-приложением, используя отсутствие заголовков HTTP Strict Transport Security (HSTS).
  • Вызывать кэширование устаревшего или вредоносного контента посредниками или браузером пользователя путем манипулирования ответами из-за отсутствия заголовков Cache-Control или Pragma.
ТЕСТИРОВАНИЕ ОСНОВНОГО ПРИЛОЖЕНИЯ

Тестирование кодовой базы на стороне клиента

Внедрение контента

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

Цели:

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

Отраженный межсайтовый скриптинг (XSS)

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

Отраженные XSS-атаки чаще всего осуществляются через вредоносную ссылку либо посредством фишинговой атаки, либо атаки Watering Hole.

Цели:

  • Украсть файлы cookie сеанса пользователей, чтобы выдать себя за них и получить несанкционированный доступ.
  • Фишинг для получения учетных данных с помощью поддельных форм входа
  • Перенаправляйте пользователей на фишинговые или вредоносные сайты для дальнейшей эксплуатации или кражи данных.
  • Захватывайте нажатия клавиш для записи конфиденциальной информации, такой как учетные данные для входа или номера кредитных карт.
  • Накладывайте законные веб-элементы на вредоносный контент, чтобы заставить пользователей выполнить неожиданные действия.
  • Создавайте вводящие в заблуждение сообщения или оповещения, чтобы заставить пользователей предпринять действия, выгодные злоумышленнику.

Загрязнение прототипов на стороне клиента (CSPP)

Резюме: Загрязнение прототипов на стороне клиента — это уязвимость, при которой злоумышленник манипулирует прототипами объектов JavaScript в веб-приложении для внедрения вредоносных свойств или поведения, что потенциально может привести к несанкционированному доступу к данным или выполнению кода. Это происходит, когда веб-приложение не проверяет или не очищает должным образом предоставленные пользователем данные, которые влияют на цепочку прототипов объектов JavaScript.

Цели:

  • Измените объекты или функции, связанные с аутентификацией, чтобы обойти проверки входа в систему или получить несанкционированный доступ.
  • Похищайте сеансы пользователей или выдавайте себя за них, манипулируя объектами на стороне клиента, получая доступ к конфиденциальным данным пользователей или выполняя действия от их имени.
  • Внедряйте вредоносные сценарии в DOM посредством загрязнения прототипа для выполнения произвольного кода в контексте целевого веб-сайта, что потенциально может привести к краже данных или перехвату сеанса.
  • Вызывайте условия отказа в обслуживании (DoS) путем изменения критически важных объектов на стороне клиента, что приводит к сбоям или зависанию приложений.
  • Измените элементы на стороне клиента, чтобы испортить пользовательский интерфейс, что потенциально может нанести ущерб репутации целевого веб-сайта или приложения.
  • Предоставляйте конфиденциальную информацию, такую как ключи API, учетные данные или собственные данные, путем манипулирования объектами на стороне клиента.
  • Повышайте привилегии пользователей путем изменения объектов на стороне клиента, связанных с ролями или разрешениями пользователей, что потенциально позволяет получить несанкционированный доступ к функциям администратора.
  • Доставляйте вредоносное ПО на стороне клиента на устройства пользователей, внедряя и выполняя вредоносные сценарии посредством загрязнения прототипов.
  • Создавайте вводящие в заблуждение пользовательские интерфейсы или сообщения, манипулируя элементами на стороне клиента, что может привести к фишинговым атакам или обману заставить пользователей раскрыть конфиденциальную информацию.

Внедрение шаблонов на стороне клиента (CSTI)

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

Цели:

  • Используйте уязвимости CSTI для извлечения конфиденциальных данных на стороне клиента, таких как информация пользователя, сведения о конфигурации или собственные данные.
  • Внедряйте вредоносные сценарии в шаблоны для выполнения кода в контексте целевого веб-сайта, что потенциально может привести к краже данных или дальнейшим атакам.
  • Вызывайте условия отказа в обслуживании (DoS), внедряя шаблоны, которые нарушают функциональность целевого приложения или веб-сайта.
  • Измените шаблоны, чтобы испортить пользовательский интерфейс, что потенциально может нанести ущерб репутации целевого веб-сайта или приложения.
  • Внедряйте шаблоны, чтобы предоставить злоумышленникам конфиденциальную информацию, такую как ключи API, учетные данные или собственные данные.

Висячая разметка

Резюме: Под висячей разметкой понимаются элементы разметки, такие как теги HTML или XML, которые существуют в исходном коде веб-страницы, но не приводят к появлению какого-либо видимого содержимого на странице при отображении. Эти неиспользуемые или скрытые элементы разметки могут привести к непредвиденным последствиям, включая неправильное толкование веб-сканерами или поисковыми системами.

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

Цели:

  • Используйте неправильно закрытые теги HTML или неполную разметку для внедрения вредоносного кода в DOM, что потенциально может привести к уязвимостям межсайтового скриптинга (XSS).
  • Вставляйте обманчивый или вредоносный контент, который может заставить пользователей совершить непреднамеренные действия, такие как раскрытие конфиденциальной информации или переход по вредоносным ссылкам.
  • Управляйте оборванной разметкой, чтобы изменить представление веб-страниц, что потенциально может испортить пользовательский интерфейс или привести к неправильному отображению контента.
  • Попытайтесь внедрить сценарии или полезные данные в DOM с помощью висячей разметки, позволяющей выполнять произвольный код в контексте целевого приложения.
  • Злоупотреблять неполной разметкой, чтобы нарушить отображение веб-страниц, что может вызвать путаницу или отбить у пользователей желание взаимодействовать с приложением.
  • Внедряйте вредоносные ссылки или перенаправляйте пользователей на вредоносные веб-сайты, используя уязвимости висячей разметки.

Межсайтовый сценарий на основе DOM (XSS)

Резюме: злоумышленник заставляет свою жертву выполнить вредоносный код JavaScript, который она не собиралась выполнять. Этот вредоносный код JavaScript часто внедряется через «приемники» или методы, которые захватывают вводимые пользователем данные и передают эти данные клиентскому JavaScript во время выполнения, а затем доставляют их в отдельный метод JavaScript, который допускает вредоносное выполнение.

XSS-атаки на основе DOM чаще всего осуществляются через вредоносную ссылку либо посредством фишинговой атаки, либо атаки Watering Hole.

Цели:

  • Украдите конфиденциальные пользовательские данные, такие как файлы cookie или личную информацию, используя клиентский код JavaScript.
  • Перехватывайте и злоупотребляйте токенами сеанса или учетными данными аутентификации, хранящимися в объектной модели документа (DOM), что позволяет злоумышленникам выдавать себя за пользователей.
  • Перенаправлять пользователей на вредоносные или фишинговые веб-сайты путем манипулирования DOM, что потенциально подвергает их дальнейшей эксплуатации.
  • Внедряйте вредоносный контент в DOM, изменяя представление веб-страниц или распространяя ложную информацию.
  • Внедрите механизмы отслеживания, внедрив код в DOM для отслеживания взаимодействия и поведения пользователей на взломанной странице.
  • Изменять или перехватывать данные, отправленные через веб-формы, путем манипулирования DOM, что потенциально может привести к несанкционированным действиям или краже данных.
  • Вмешивайтесь в DOM, чтобы манипулировать элементами пользовательского интерфейса, что может привести к тому, что пользователи будут выполнять действия, которые они не планировали.
  • Попытаться использовать уязвимости в клиентских библиотеках или скриптах посредством манипулирования DOM, что потенциально может поставить под угрозу систему или браузер пользователя.
  • Перехватите и передайте учетные данные пользователя, введенные на скомпрометированных страницах, на сервер, контролируемый злоумышленником.
  • Внедряйте фишинговый контент в DOM, чтобы обманом заставить пользователей разглашать конфиденциальную информацию или совершать вредоносные действия.
  • Манипулировать DOM для выполнения действий от имени пользователя, что потенциально может привести к несанкционированным операциям или манипулированию данными.
  • Внедряйте и выполняйте вредоносные сценарии в DOM, что потенциально может привести к доставке вредоносного ПО на стороне клиента на устройства пользователей.

Открытое перенаправление на основе DOM

Резюме: Открытое перенаправление на основе DOM — это уязвимость веб-безопасности, которая возникает, когда клиентский код JavaScript веб-приложения изменяет объектную модель документа (DOM) для перенаправления пользователей на внешний, ненадежный URL-адрес, предоставленный злоумышленником. Манипулируя DOM, злоумышленники могут обманом заставить пользователей посещать вредоносные веб-сайты или выполнять действия, которые они не планировали, что потенциально может привести к фишинговым атакам или другим несанкционированным действиям.

Цели:

  • Создавайте вредоносные URL-адреса, которые манипулируют DOM и перенаправляют пользователей на фишинговые веб-сайты или вредоносные домены.
  • Используйте уязвимости открытого перенаправления в клиентских приложениях для проведения атак на стороне клиента или облегчения дальнейшей эксплуатации.
  • Используйте открытые перенаправления для маскировки фишинговых атак, чтобы вредоносные URL-адреса выглядели как законные.
  • Манипулируйте пользовательскими интерфейсами, чтобы вызвать взаимодействие с пользователем, которое запускает открытое перенаправление на основе DOM, что потенциально может привести к вредоносным действиям или утечке информации.

Внедрение JavaScript на стороне клиента

Резюме: Злоумышленник заставляет свою жертву выполнить вредоносный код JavaScript, который она не собиралась выполнять, без записи в DOM. Этот вредоносный код JavaScript часто внедряется через «приемники» или методы, которые захватывают вводимые пользователем данные и передают эти данные клиентскому JavaScript во время выполнения, а затем доставляют в отдельный метод JavaScript, который оценивает управляемую пользователем строку как код JavaScript.

Атаки с внедрением JavaScript на стороне клиента чаще всего осуществляются через вредоносную ссылку либо посредством фишинга, либо атаки Watering Hole.

Цели:

  • Украдите конфиденциальные пользовательские данные, такие как файлы cookie или личную информацию, используя клиентский код JavaScript.
  • Перехватывайте и злоупотребляйте токенами сеанса или учетными данными аутентификации, хранящимися в объектной модели документа (DOM), что позволяет злоумышленникам выдавать себя за пользователей.
  • Перенаправлять пользователей на вредоносные или фишинговые веб-сайты путем манипулирования DOM, что потенциально подвергает их дальнейшей эксплуатации.
  • Внедряйте вредоносный контент в DOM, изменяя представление веб-страниц или распространяя ложную информацию.
  • Внедрите механизмы отслеживания, внедрив код в DOM для отслеживания взаимодействия и поведения пользователей на взломанной странице.
  • Изменять или перехватывать данные, отправленные через веб-формы, путем манипулирования DOM, что потенциально может привести к несанкционированным действиям или краже данных.
  • Вмешивайтесь в DOM, чтобы манипулировать элементами пользовательского интерфейса, что может привести к тому, что пользователи будут выполнять действия, которые они не планировали.
  • Попытаться использовать уязвимости в клиентских библиотеках или скриптах посредством манипулирования DOM, что потенциально может поставить под угрозу систему или браузер пользователя.
  • Перехватите и передайте учетные данные пользователя, введенные на скомпрометированных страницах, на сервер, контролируемый злоумышленником.
  • Внедряйте фишинговый контент в DOM, чтобы обманом заставить пользователей разглашать конфиденциальную информацию или совершать вредоносные действия.
  • Манипулировать DOM для выполнения действий от имени пользователя, что потенциально может привести к несанкционированным операциям или манипулированию данными.
  • Внедряйте и выполняйте вредоносные сценарии в DOM, что потенциально может привести к доставке вредоносного ПО на стороне клиента на устройства пользователей.

Уязвимости пост-сообщений

Резюме: postMessage() — это метод JavaScript, который обеспечивает связь между различными окнами или фреймами внутри веб-приложения, даже если они происходят из разных источников (доменов). Он обеспечивает связь между источниками, отправляя сообщения вместе с информацией о целевом источнике, облегчая обмен данными и координацию между различными частями веб-приложения.

Цели:

  • Создавайте вредоносные сообщения, нацеленные на уязвимых прослушивателей PostMessage, и выполняйте произвольный код на стороне получателя.
  • Используйте чрезмерно разрешающие источники в параметре targetOrigin, чтобы разрешить сообщения из непреднамеренных или вредоносных источников.
  • Попытайтесь заполнить канал PostMessage большим количеством сообщений, чтобы нарушить законную связь или вызвать проблемы с производительностью.
  • Управляйте свойством источника событий PostMessage, чтобы выдать себя за доверенных отправителей или внедрить неавторизованные сообщения.
  • Обход неадекватной проверки или очистки сообщения на стороне получателя для внедрения вредоносных сценариев или контента.
  • Используйте подстановочные знаки * в targetOrigin для полного обхода проверок происхождения, что потенциально может привести к межсайтовому скриптингу (XSS) или другим атакам.
  • Злоупотреблять неправильно настроенной логикой обработки сообщений для повышения привилегий, доступа к ограниченным ресурсам или выполнения несанкционированных действий.
  • Используйте неправильно настроенные прослушиватели для извлечения конфиденциальной информации из среды получателя или родительского окна.
  • Запускайте фишинговые атаки, отправляя вводящие в заблуждение сообщения, чтобы заставить пользователей предпринять непредвиденные действия, такие как раскрытие конфиденциальных данных или предоставление разрешений.
  • Управляйте параметром данных в сообщениях, чтобы внедрить вредоносные полезные данные или полезные данные с закодированными атаками.
  • Используйте уязвимости открытого перенаправления, манипулируя URL-адресами PostMessage для перенаправления пользователей на фишинговые или вредоносные сайты.
  • Попытайтесь осуществить кликджекинг, манипулируя содержимым PostMessage, чтобы наложить на законные пользовательские интерфейсы обманчивый контент.
  • Используйте отсутствие надлежащей фильтрации сообщений для внедрения нежелательного или вредоносного контента в приложение получателя.
  • Злоупотреблять неправильными настройками PostMessage, чтобы установить канал для кражи данных или скрытой связи между скомпрометированным клиентом и сервером, контролируемым злоумышленником.

Раскрытие информации

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

Цели:

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

Привилегированные учетные данные раскрыты

Резюме: Конфиденциальная информация может быть непреднамеренно раскрыта через файлы JavaScript на стороне клиента, когда разработчики встраивают секреты, такие как ключи API или пароли, непосредственно в код, делая их доступными для всех, кто просматривает исходный код. Кроме того, недостаточная проверка входных данных или неадекватные меры безопасности могут позволить злоумышленникам манипулировать кодом JavaScript для извлечения конфиденциальных данных или запуска атак.

Цели:

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

Небезопасное хранение данных

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

Цели:

  • Хранение конфиденциальных данных в переменных JavaScript, которые могут сохраняться в памяти и быть доступны злоумышленникам посредством проверки памяти или отладки.
  • Использование пользовательских атрибутов данных в элементах HTML для хранения конфиденциальных данных, которые могут быть просмотрены или изменены злоумышленниками.
  • Передача конфиденциальных данных в качестве параметров URL-адреса, что может привести к их раскрытию в истории или журналах браузера.
  • Добавление конфиденциальных данных в виде скрытых полей форм на веб-страницах, которые злоумышленники могут просматривать или манипулировать ими с помощью инструментов браузера.
  • Создание файлов cookie с помощью JavaScript, которые хранят конфиденциальные данные без их надлежащей защиты.
  • Использование API веб-хранилища (localStorage или sessionStorage) без шифрования и контроля доступа к конфиденциальной информации.
  • Хранение конфиденциальных данных в клиентских базах данных IndexedDB без надлежащего контроля доступа, что позволяет злоумышленникам получить данные.
  • Шифрование конфиденциальных данных на стороне клиента без надежного шифрования или надлежащего управления ключами, что делает их уязвимыми для расшифровки.

Отказ в обслуживании (DoS)

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

Цели:

  • Использование ошибок в клиентских сценариях или неправильной обработке ресурсов для чрезмерного использования памяти, замедления или сбоя браузера клиента.
  • Внедрение сценариев, которые выполняют ресурсоемкие операции на клиентском компьютере, такие как бесконечные циклы или тяжелые вычисления, что приводит к высокой загрузке ЦП и зависанию системы.
  • Внедрение вредоносного кода, вызывающего сбой или зависание браузера, нарушающее работу пользователя в Интернете.
  • Одновременное открытие большого количества вкладок или всплывающих окон может перегрузить браузер и привести к его зависанию.
  • Использование уязвимостей в конкретном браузере для выполнения вредоносного кода, который снижает производительность или приводит к сбою браузера.
  • Отправка большого количества асинхронных запросов для перегрузки ресурсов сервера, что может привести к ухудшению качества обслуживания или сбою в работе.
  • Манипулирование соединениями WebSocket для переполнения сервера чрезмерными сообщениями, потребляющими ресурсы сервера.
  • Внедрение вредоносных сценариев в поля ввода или пользовательский контент, которые могут быть выполнены другими пользователями, что приводит к потенциальным проблемам с производительностью.
  • Принуждение клиента к многократной загрузке больших ненужных файлов, что приводит к использованию полосы пропускания и потенциальному снижению производительности.
ТЕСТИРОВАНИЕ ОСНОВНОГО ПРИЛОЖЕНИЯ

Тестирование базы кода на стороне сервера

Внедрение команд

Резюме: Внедрение команд на стороне сервера — это веб-уязвимость, позволяющая злоумышленникам манипулировать входными данными, которые неправильно интерпретируются серверными компонентами, часто распространенными в таких языках, как PHP, Python и сценарии CGI, что позволяет выполнять непреднамеренные команды на сервере.

Цели:

  • Внедряйте вредоносные команды через вводимые пользователем данные для выполнения произвольного кода на сервере.
  • Удалите конфиденциальные данные с сервера с помощью внедрения команд, например содержимое базы данных или файлы конфигурации
  • Манипулируйте файлами на сервере или удаляйте их с помощью команд, что может привести к срыву операций или удалению важных файлов.
  • Получите несанкционированный доступ к серверу посредством внедрения команд, что позволит осуществлять дальнейшее исследование и контроль.
  • Повышайте привилегии на сервере, используя уязвимости или неправильные настройки, расширяя контроль.
  • Перегрузить сервер ресурсоемкими командами, что приведет к зависанию или сбоям (отказ в обслуживании).
  • Доставляйте и устанавливайте вредоносное ПО на сервер посредством внедрения команд, ставя под угрозу его и другие системы.
  • Выполнять команды для сканирования внутренней сети, выявляя другие уязвимые системы.
  • Установите обратное соединение с компьютером злоумышленника, что позволит удаленно управлять сервером.
  • Повреждайте или манипулируйте данными в приложении или базе данных с помощью внедрения команд, что приводит к проблемам с целостностью данных.
  • Собирайте информацию о конфигурации сервера, запущенных службах или учетных записях пользователей путем внедрения команд.
  • Испортить веб-страницы путем внедрения команд, что потенциально может нанести ущерб репутации целевой организации.

Сохраненные межсайтовые сценарии (XSS)

Резюме: Сохраненные межсайтовые сценарии (XSS) — это уязвимость веб-безопасности, при которой вредоносные сценарии внедряются в постоянное хранилище веб-сайта, например в базы данных или разделы комментариев, которые затем передаются пользователям, вызывая запуск сценариев в их браузерах. Это может привести к тому, что злоумышленники похитят конфиденциальные пользовательские данные, перехватят сеанс или распространят вредоносное ПО через зараженные веб-страницы.

Цели:

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

Слепой межсайтовый скриптинг (XSS)

Резюме: Слепой межсайтовый скриптинг (XSS) — это тип веб-уязвимости, при которой вредоносные скрипты внедряются в веб-приложение, но их влияние не сразу заметно пользователям. Эти сценарии выполняются, когда другой пользователь, часто администратор или привилегированный пользователь, взаимодействует с зараженной страницей, что потенциально может привести к несанкционированным действиям или компрометации данных.

Цели:

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

Внедрение кода

Резюме: Внедрение кода на стороне сервера — это веб-уязвимость, при которой злоумышленники внедряют вредоносный код в поля ввода или параметры веб-приложения, манипулируя сервером для выполнения непреднамеренного кода. Эта уязвимость обычно встречается в веб-приложениях, использующих такие технологические стеки, как PHP, Java, ASP.NET и Ruby on Rails, где неправильная проверка входных данных может привести к выполнению произвольного кода на сервере.

Цели:

  • Внедрить вредоносный код во входные данные, управляемые пользователем, инициируя выполнение серверного кода в технологическом стеке приложения (например, с помощью eval() в серверной части Node.js).
  • Получите контроль над серверной логикой приложения, внедрив код, который позволяет злоумышленникам изменять или нарушать функциональность.
  • Используйте внедрение кода, чтобы нарушить механизмы аутентификации и получить несанкционированный доступ к приложению или серверу.
  • Внедряйте код, который изменяет поведение приложения или выходные данные, представляемые пользователям.
  • Используйте внедрение кода, чтобы нарушить функциональность сервера или вызвать непредвиденное поведение приложения.

Загрязнение серверных прототипов (SSPP)

Резюме: Загрязнение прототипов на стороне сервера — это уязвимость веб-безопасности, позволяющая злоумышленникам манипулировать входными данными для изменения прототипов объектов на сервере, что потенциально может привести к несанкционированным действиям или манипулированию данными. Эта уязвимость часто встречается в приложениях, которые обрабатывают ввод пользователя без надлежащей проверки, затрагивая такие языки, как JavaScript на стороне сервера, или платформы, использующие десериализацию, такие как Node.js.

Цели:

  • Внедряйте вредоносные данные для манипулирования и загрязнения прототипов на стороне сервера, потенциально влияя на поведение основных объектов приложения.
  • Используйте загрязнение прототипа для вмешательства в серверные библиотеки и модули, что приводит к непредвиденным последствиям для функциональности приложения.
  • Создавайте и изменяйте свойства прототипа, потенциально обеспечивая несанкционированный доступ к конфиденциальным ресурсам или данным на стороне сервера.
  • Используйте загрязнение прототипа, чтобы инициировать выполнение произвольного кода на стороне сервера, потенциально ставя под угрозу всю систему.
  • Используйте загрязнение прототипов для создания уязвимостей, которые приводят к утечке данных, вызывая атаку типа «отказ в обслуживании» (DoS), перегружая ресурсы сервера и делая приложение не отвечающим на запросы, нарушая нормальные операции и потенциально затрагивая пользователей.
  • Вмешивайтесь в прототипы объектов запроса или ответа, чтобы манипулировать потоками данных и взаимодействиями внутри приложения для кражи конфиденциальных данных.
  • Внедряйте данные, которые влияют на поток управления серверной логикой, что потенциально может привести к несанкционированным действиям или утечке данных.
  • Используйте загрязнение прототипов для повышения привилегий и получения несанкционированного доступа к конфиденциальным функциям или ресурсам приложения, ставя под угрозу безопасность.
  • Манипулируйте свойствами прототипа, чтобы нарушить механизмы аутентификации или обойти проверки безопасности, получив несанкционированный доступ.

Небезопасная десериализация

Резюме: Небезопасная десериализация — это веб-уязвимость, позволяющая злоумышленникам использовать неправильно обработанные сериализованные данные, что потенциально может привести к выполнению произвольного кода или несанкционированным действиям. Эта уязвимость часто распространена в таких языках, как Java, Python и PHP, где десериализованные данные не проверяются должным образом, что позволяет злоумышленникам манипулировать сериализованными объектами в своих интересах.

Цели:

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

LDAP-инъекция

Резюме: внедрение LDAP — это уязвимость веб-безопасности, позволяющая злоумышленникам манипулировать входными данными таким образом, что это приводит к непреднамеренному взаимодействию с сервером протокола облегченного доступа к каталогам (LDAP). Воспользовавшись этой уязвимостью, злоумышленники потенциально могут получить несанкционированную информацию с сервера, изменить данные или выполнить произвольные команды.

Цели:

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

Подделка запросов на стороне сервера (SSRF)

Резюме: Подделка запросов на стороне сервера (SSRF) — это веб-уязвимость, позволяющая злоумышленникам манипулировать веб-приложением для выполнения несанкционированных запросов к внутренним ресурсам или внешним серверам от имени приложения. Это может привести к утечке данных, несанкционированному доступу к внутренним системам или потенциальному использованию уязвимостей в сторонних сервисах.

Цели:

  • Подделывайте HTTP-запросы к внутренним службам или ресурсам для извлечения конфиденциальной информации.
  • Используйте SSRF для сканирования и перечисления внутренней сети или обнаружения скрытых сервисов.
  • Манипулируйте SSRF, чтобы обойти меры безопасности и получить доступ к ограниченным данным или функциям.
  • Перенаправляйте внутренние запросы на внешние вредоносные серверы, способствуя краже данных.
  • Создавайте полезные данные SSRF для выполнения несанкционированных действий от имени законных пользователей.
  • Отправляйте вредоносные HTTP-запросы от имени организации, чтобы нанести ущерб ее репутации и в конечном итоге привести к финансовым потерям.

Включение файла/обход пути

Резюме: Включение локальных файлов (LFI) — это веб-уязвимость, позволяющая злоумышленникам манипулировать входными данными для включения и выполнения локальных файлов на веб-сервере, потенциально раскрывая конфиденциальную информацию. Обход пути — это аналогичная уязвимость, при которой злоумышленники манипулируют входными данными для обхода путей к каталогам, потенциально получая доступ к файлам за пределами предполагаемой области действия, что может привести к несанкционированному раскрытию данных или выполнению кода.

Цели:

  • Используйте обход пути для доступа к конфиденциальным файлам за пределами корневого веб-сайта, например файлам конфигурации или системным журналам.
  • Управляйте включением файлов для чтения или удаления конфиденциальных данных, включая учетные записи пользователей или личные документы.
  • Злоупотребление обходом путей для получения несанкционированного доступа к областям с ограниченным доступом, таким как панели администратора или профили пользователей.
  • Перенаправить включение файла для выполнения системных команд на сервере, ставя под угрозу его безопасность.
  • Используйте включение файлов для раскрытия исходного кода, раскрытия уязвимостей приложений или конфиденциальной информации.
  • Формируйте запросы на включение удаленных файлов, что потенциально облегчает атаки с удаленным выполнением кода.

XPATH-инъекция

Резюме: XPath-инъекция — это веб-уязвимость, позволяющая злоумышленникам манипулировать входными данными для изменения запросов XPath в приложениях на основе XML, что потенциально может привести к непреднамеренному доступу к данным или манипулированию ими. Это может привести к несанкционированному доступу к данным или даже удаленному выполнению кода, в зависимости от мер безопасности приложения.

Цели:

  • Внедряйте вредоносные запросы XPath для доступа к несанкционированным данным в документах XML.
  • Используйте XPath Injection для обхода механизмов аутентификации и получения несанкционированного доступа.
  • Управляйте запросами XPath для извлечения конфиденциальной информации из баз данных или файлов на основе XML.
  • Формируйте запросы XPath для изменения данных XML или выполнения несанкционированных действий внутри приложения.
  • Перенаправляйте запросы XPath для удаления конфиденциальных данных с сервера или приложения.
  • Используйте XPath Injection для повышения привилегий и получения административного доступа.
  • Создавайте запросы XPath, чтобы вызвать ошибки приложения или непредвиденное поведение.
  • Внедряйте вредоносные выражения XPath, чтобы нарушить синтаксический анализ XML или функциональность приложения.
  • Злоупотреблять XPath Injection для подсчета учетных записей пользователей, что может способствовать дальнейшим атакам.
  • Управляйте запросами XPath, чтобы раскрыть информацию или конфигурации, специфичные для сервера.
  • Создавайте запросы XPath для поиска определенных записей или шаблонов в данных XML.
  • Используйте XPath Injection для выполнения произвольного кода на сервере, потенциально ставя его под угрозу.
  • Перенаправляйте запросы XPath для доступа к конфиденциальным документам или ресурсам XML.
  • Внедряйте выражения XPath, чтобы облегчить обход или злоупотребление проверкой данных в приложении.

Неограниченная загрузка файлов

Резюме: Уязвимость неограниченной загрузки файлов позволяет злоумышленникам загружать различные типы файлов в веб-приложение без надлежащих проверок, даже если они не могут напрямую добиться удаленного выполнения кода или загрузить веб-оболочку. Это по-прежнему может привести к потенциальным угрозам безопасности, таким как хранение зараженных вредоносным ПО файлов, использование неправильных конфигураций сервера или возможность дальнейших атак путем творческого злоупотребления загруженным контентом.

Цели:

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

Веб-оболочка через загрузку файла

Резюме: При уязвимости неограниченной загрузки файлов, если злоумышленнику удается загрузить веб-оболочку или выполнить вредоносный код, он может получить несанкционированный удаленный доступ (RCE) к целевой системе или веб-приложению. Это может привести к полному контролю над системой, утечкам данных и потенциально серьезным нарушениям безопасности.

Цели:

  • Выполнение произвольных команд через веб-оболочку, потенциально ставящее под угрозу всю систему.
  • Используйте веб-оболочку для кражи конфиденциальных данных с сервера или базы данных.
  • Получите постоянный доступ к приложению, позволяющий его долгосрочную эксплуатацию.
  • Внедряйте на сервер бэкдоры или вредоносное ПО, облегчая дальнейшие атаки.
  • Повышайте привилегии, используя уязвимости или неправильные настройки.
  • Скрывайте вредоносные действия, изменяя журналы или изменяя элементы управления доступом.
  • Запускать атаки на другие внутренние системы или сетевые ресурсы со скомпрометированного сервера.
  • Создайте канал командования и контроля (C2) для дистанционного контроля и управления.
  • Используйте скомпрометированный сервер для проведения атак на внешние цели или соседние системы.
  • Загрузите и запустите программу-вымогатель, чтобы зашифровать данные и потребовать выкуп за расшифровку.

Внедрение шаблонов на стороне сервера (SSTI)

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

Цели:

  • Внедрить вредоносный шаблонный код, позволяющий выполнять произвольные команды на сервере. Это может поставить под угрозу всю серверную инфраструктуру и потенциально привести к полному контролю над сервером.
  • Используйте SSTI для доступа и удаления конфиденциальных данных на стороне сервера, включая конфиденциальную информацию пользователя, содержимое базы данных или файлы конфигурации. Злоумышленники могут использовать украденные данные в вредоносных целях или для получения информации об архитектуре приложения.
  • Создавайте внедрение шаблонов для получения несанкционированного доступа к областям с ограниченным доступом или конфиденциальным пользовательским данным. Повышая привилегии, злоумышленники могут поставить под угрозу безопасность приложения и получить доступ к данным, к которым у них не должно быть доступа.
  • Используйте первоначальную уязвимость SSTI, чтобы облегчить вторичные атаки на сервер или другие подключенные системы. Это может включать в себя запуск атак на другие приложения, переход на другие части сети или компрометацию дополнительных активов.
  • Манипулируйте шаблонами, чтобы нарушить функциональность приложения или привести к сбою сервера, что приведет к перебоям в обслуживании или снижению производительности.

Внешний объект XML (XXE)

Резюме: Атаки на внешний объект XML (XXE) представляют собой веб-уязвимость, позволяющую злоумышленникам манипулировать входными данными для использования анализаторов XML, что потенциально может привести к раскрытию конфиденциальной информации, подделке запросов на стороне сервера (SSRF) или удаленному выполнению кода. Внедряя вредоносные объекты XML, злоумышленники могут злоупотребить способом обработки приложением данных XML, что приведет к непредвиденному поведению.

Цели:

  • Используйте XXE для чтения конфиденциальных данных сервера, таких как файлы конфигурации или учетные данные, в вредоносных целях.
  • Создайте вредоносный XML-код, вызывающий XXE, вызывающий DoS из-за перегрузки ресурсов сервера.
  • Используйте XXE для атак SSRF, раскрытия деталей внутренней сети или кражи данных.
  • Эскалация XXE для выполнения произвольного кода на сервере, что потенциально может привести к полной компрометации.
  • Управляйте параметрами или конфигурациями приложения через XXE, чтобы изменить поведение, получить доступ к ресурсам или выполнить несанкционированные действия.

WebSocket-инъекция

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

Цели:

  • Внедряйте вредоносные или неожиданные данные в сообщения WebSocket, что может привести к нарушению связи или использованию уязвимостей.
  • Подделывайте сообщения WebSocket, чтобы выдать себя за законного клиента или сервер, потенциально обманывая других клиентов или сервер, заставляя их совершать непредвиденные действия.
  • Перехватывайте трафик WebSocket для кражи конфиденциальной информации, передаваемой между клиентами и сервером, включая учетные данные, токены сеанса или другие конфиденциальные данные.
  • Измените передаваемые сообщения WebSocket, чтобы манипулировать обмениваемыми данными, что может привести к неправильной обработке на сервере или клиентах.
  • Внедрять в сообщения WebSocket вредоносный код или команды, которые, если они выполняются на сервере, могут привести к удаленному выполнению кода или несанкционированному доступу.
  • Перегрузка соединений WebSocket большим объемом вредоносных запросов, что приводит к истощению ресурсов сервера или нарушению связи.
  • Используйте уязвимости WebSocket для перехвата пользовательских сеансов, позволяя злоумышленникам выдавать себя за законных пользователей и выполнять действия от их имени.
  • Управляйте поведением или функциями, специфичными для протокола WebSocket, для проведения атак, которые злоупотребляют функциональностью WebSocket, что потенциально может привести к уязвимостям приложения.
  • Обманом заставить пользователей установить соединения WebSocket с вредоносными серверами, потенциально раскрывая конфиденциальную информацию или выполняя действия от имени жертвы.
ТЕСТИРОВАНИЕ ОСНОВНОГО ПРИЛОЖЕНИЯ

Тестирование работы базы данных

SQL-инъекция

Резюме: SQL-инъекция — это веб-уязвимость, позволяющая злоумышленникам манипулировать входными данными для вставки вредоносных SQL-запросов в операторы запросов к базе данных веб-приложения, что потенциально позволяет им просматривать, изменять или удалять данные в базе данных. Это может привести к несанкционированному доступу к конфиденциальной информации, утечке данных или даже полной компрометации серверной части приложения.

Цели:

  • Извлекайте конфиденциальные данные из базы данных приложения, такие как учетные данные пользователя или финансовые записи.
  • Управляйте механизмами аутентификации приложения, чтобы получить несанкционированный доступ к учетным записям пользователей или областям с ограниченным доступом.
  • Изменять, удалять или вставлять несанкционированные данные в базу данных, что приводит к повреждению данных или несанкционированным изменениям.
  • Перехват сеансов пользователей путем подделки идентификаторов сеансов, что позволяет злоумышленникам выдавать себя за законных пользователей.
  • Перегрузить сервер базы данных ресурсоемкими запросами, что приведет к отказу в обслуживании (DoS).
  • Выполняйте произвольный код на сервере, потенциально получая полный контроль над приложением и инфраструктурой.
  • Раскройте уязвимости или конфиденциальную информацию, хранящуюся в базе данных, которую можно использовать для получения конкурентного преимущества или дальнейших атак.
  • Внедрить вредоносные данные или полезные данные вредоносного ПО в базу данных, что потенциально может нанести вред пользователям или приложению.

NoSQL-инъекция

Резюме: NoSQL-инъекция — это веб-уязвимость, позволяющая злоумышленникам манипулировать входными данными для использования слабых мест в запросах к базе данных NoSQL, что потенциально может привести к несанкционированному доступу, манипулированию данными или даже удаленному выполнению кода. Это может произойти в таких базах данных, как MongoDB, Cassandra или Couchbase, когда пользовательский ввод не проверяется должным образом перед использованием в запросах.

Цели:

  • Извлекайте конфиденциальные данные из базы данных NoSQL приложения, включая профили пользователей, учетные данные или конфиденциальную информацию.
  • Манипулируйте запросами NoSQL для обхода аутентификации и потенциального получения несанкционированного доступа к учетным записям пользователей или областям администрирования.
  • Изменить или вставить несанкционированные данные в базу данных NoSQL, что приведет к повреждению данных, проблемам с целостностью или несанкционированным изменениям.
  • Перехват пользовательских сеансов с помощью NoSQL-инъекции, что позволяет злоумышленникам выдавать себя за законных пользователей.
  • Создавайте вредоносные запросы NoSQL, которые перегружают сервер базы данных, вызывая отказ в обслуживании (DoS) или замедляя реакцию приложений.

GraphQL-инъекция

Резюме: внедрение GraphQL — это веб-уязвимость, позволяющая злоумышленникам манипулировать входными данными для использования слабых мест в запросах GraphQL, что потенциально может привести к несанкционированному доступу к данным, раскрытию конфиденциальной информации или даже отказу в обслуживании. Это может произойти, если проверка ввода или анализ запросов недостаточно реализованы в приложениях на основе GraphQL.

Цели:

  • Извлекайте конфиденциальные данные из базы данных, включая информацию о пользователях, пароли или конфиденциальные записи.
  • Управляйте запросами, чтобы обойти механизмы аутентификации и получить несанкционированный доступ к учетным записям пользователей или ресурсам с ограниченным доступом.
  • Изменять или вставлять неавторизованные данные в базу данных, что может привести к повреждению данных или несанкционированным изменениям.
  • Создавайте вредоносные запросы, которые перегружают ресурсы сервера, вызывая условия отказа в обслуживании (DoS) и делая приложение не отвечающим.
  • Обеспечьте выполнение кода на сервере, что позволит злоумышленникам контролировать приложение и базовую инфраструктуру.
  • Раскройте уязвимости, конфиденциальную информацию или данные, хранящиеся в базе данных, которые могут быть использованы в злонамеренных целях.
  • Перехват сеансов пользователей путем подделки токенов или учетных данных в запросах, что позволяет злоумышленникам выдавать себя за законных пользователей.
  • Манипулировать запросами, чтобы злоупотреблять логикой приложения, потенциально нарушая критически важные функции или вызывая непредвиденное поведение.

Отказ в обслуживании (DoS)

Резюме: При атаке типа «отказ в обслуживании» (DoS), нацеленной на базу данных веб-приложения, злоумышленник может заполнить базу данных огромным объемом вредоносных запросов, таких как сложные и ресурсоемкие запросы или загрузка больших объемов данных. Эта чрезмерная нагрузка может привести к тому, что база данных перестанет отвечать на запросы или значительно замедлится, нарушая нормальную функциональность приложения и потенциально делая его недоступным для законных пользователей.

Цели:

  • Храните необычно большие объемы данных в базе данных, используя ожидаемое поведение и механизмы, чтобы перегрузить базу данных и нарушить нормальную работу.
  • Отправьте необычно большое количество запросов к базе данных, используя ожидаемое поведение и механизмы, чтобы перегрузить базу данных и нарушить нормальную работу.

Раскрытие информации

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

Цели:

  • Учетные данные базы данных: сюда входят имена пользователей и пароли, используемые для доступа к базе данных. Эти учетные данные должны храниться в тайне во избежание несанкционированного доступа.
  • Строки подключения к базе данных: такие детали, как адрес сервера базы данных, порт и параметры аутентификации, должны быть защищены.
  • Ключи и токены API. Если доступ к базе данных осуществляется через API или веб-службу, любые ключи API или токены доступа, используемые для аутентификации, должны оставаться конфиденциальными.
  • Ключи шифрования базы данных. Если в базе данных используется шифрование, ключи шифрования, используемые для защиты данных, должны быть защищены для обеспечения конфиденциальности данных.
  • Схема и структура базы данных. Раскрытие структуры и схемы базы данных может помочь потенциальным злоумышленникам понять архитектуру базы данных и может привести к уязвимостям безопасности.
  • Процедуры резервного копирования и восстановления. Информация о процессах резервного копирования и восстановления базы данных, включая места хранения и расписания, должна храниться в тайне, чтобы предотвратить потерю данных или несанкционированное восстановление.
  • Версия системы управления базами данных (СУБД). Раскрытие конкретной версии и программного обеспечения, используемого для СУБД, может подвергнуть базу данных известным уязвимостям.
  • Журналы запросов и планы выполнения. Подробные журналы запросов и планы выполнения могут дать представление о производительности базы данных и потенциально конфиденциальную информацию о шаблонах доступа к данным приложения.
  • Списки управления доступом к базе данных (ACL): информация о том, кто имеет доступ к базе данных, их роли и разрешения, должна контролироваться и не раскрываться.
  • Журналы мониторинга и аудита базы данных. Журналы, которые отслеживают активность базы данных, доступ пользователей и события безопасности, должны быть защищены для обеспечения безопасности и соответствия требованиям.
  • Учетные данные администратора базы данных. Учетные данные для входа в систему администраторов базы данных должны быть доступны только авторизованному персоналу и храниться в тайне.
  • Файлы конфигурации базы данных. Файлы конфигурации, например те, которые определяют параметры базы данных, должны быть защищены, чтобы предотвратить несанкционированное вмешательство или раскрытие информации.
  • Алгоритмы шифрования и хеширования данных. Подробности об алгоритмах шифрования и хеширования, используемых для защиты данных, должны быть защищены для обеспечения целостности и конфиденциальности данных.
  • Конфигурация сети. Информация о том, как сервер базы данных подключен к сети, включая правила брандмауэра и сведения о маршрутизации, должна храниться в тайне во избежание потенциальных атак.

Креативное тестирование приложений

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

КРЕАТИВНОЕ ТЕСТИРОВАНИЕ ПРИЛОЖЕНИЙ

Тестирование внешнего управления доступом к идентификационным данным (IAM)

Неправильная конфигурация OAuth

Резюме: OAuth — это открытый стандартный протокол, который позволяет сторонним приложениям безопасно авторизовать доступ к ресурсам пользователя, таким как его данные или функциональные возможности, без раскрытия его учетных данных. Это позволяет пользователям предоставлять ограниченные разрешения внешним службам, не раскрывая свои учетные данные для входа, что повышает безопасность и контроль пользователей при взаимодействии API.

Неправильная конфигурация языка разметки утверждений безопасности (SAML)

Резюме: SAML (язык разметки утверждений безопасности) — это стандарт на основе XML, используемый для обмена данными аутентификации и авторизации между сторонами, обычно обеспечивающий функцию единого входа (SSO) в веб-приложениях. Это позволяет пользователям получать доступ к нескольким приложениям с помощью одного набора учетных данных, что повышает удобство работы и безопасность.

Неправильная конфигурация Google Firebase IAM

Резюме: Google Firebase IAM (Управление идентификацией и доступом) — это служба, которая контролирует доступ пользователей к ресурсам Firebase, позволяя администраторам управлять разрешениями для пользователей и групп. Он обеспечивает детальный контроль доступа к сервисам и данным Firebase, повышая безопасность и управление приложениями Firebase.

Неправильная конфигурация Keycloak IAM

Резюме: Keycloak IAM (Управление идентификацией и доступом) — это решение с открытым исходным кодом, которое обеспечивает аутентификацию, авторизацию и возможности единого входа (SSO) для приложений и сервисов. Он позволяет пользователям управлять доступом к ресурсам, обеспечивая безопасное и бесперебойное взаимодействие внутри экосистемы приложений.

КРЕАТИВНОЕ ТЕСТИРОВАНИЕ ПРИЛОЖЕНИЙ

Тестирование логики приложения

Косвенная ссылка на объект (IDOR)

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

Косвенная ссылка на объект (IDOR) возникает, когда пользователь может манипулировать параметром, например URL-адресом или полем формы, для доступа к данным или функциям, на доступ к которым у него нет полномочий, часто путем изменения числового идентификатора. Эта уязвимость может привести к несанкционированному доступу к данным или действиям внутри приложения.

Недостаточный контроль доступа

Резюме: средства управления доступом реализованы таким образом, чтобы гарантировать, что клиент имеет доступ только к тем частям приложения, которые разработчики предназначали для него.

Элементы управления доступом часто применяются к клиенту на основе отдельного пользователя ( доступ к странице профиля ), сеанса пользователя ( доступ к аутентифицированным страницам ) и роли пользователя ( доступ к панели администратора ). Эти правила определяют, что клиенту «разрешено» делать в приложении, и могут применяться с высокой степенью детализации. Например, один элемент управления доступом может запретить пользователю доступ ко всему приложению, а другой может запретить только использование дополнительного параметра для запроса POST.

Когда в приложении обнаруживается «Недостаточный контроль доступа», это означает, что разработчики вообще не смогли обеспечить соблюдение этих правил.

Обход контроля доступа

Резюме: средства управления доступом реализованы таким образом, чтобы гарантировать, что клиент имеет доступ только к тем частям приложения, которые разработчики предназначали для него.

Элементы управления доступом часто применяются к клиенту на основе отдельного пользователя ( доступ к странице профиля ), сеанса пользователя ( доступ к аутентифицированным страницам ) и роли пользователя ( доступ к панели администратора ). Эти правила определяют, что клиенту «разрешено» делать в приложении, и могут применяться с высокой степенью детализации. Например, один элемент управления доступом может запретить пользователю доступ ко всему приложению, а другой может запретить только использование дополнительного параметра для запроса POST.

Когда в приложении обнаруживается «Обход контроля доступа», это означает, что разработчики реализовали меры безопасности, чтобы предотвратить доступ неавторизованных пользователей к механизму, но злоумышленник может обойти этот контроль, используя полезную нагрузку, доставленную со стороны клиента.

Обход 2FA/MFA

Резюме: Двухфакторная аутентификация (2FA) требует от пользователей предоставления двух форм идентификации для доступа к учетной записи: обычно того, что они знают (например, пароль), и того, что у них есть (например, мобильное устройство для получения кода проверки), в то время как многофакторная аутентификация (MFA) расширяет эту концепцию, добавляя дополнительные факторы аутентификации помимо двух, например, то, чем они являются (например, биометрические данные, такие как отпечатки пальцев или распознавание лиц).

Обход Captcha

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

Ограничение скорости/Обход защиты от перебора

Резюме: элементы управления ограничением скорости ограничивают количество запросов, которые пользователь или IP-адрес может сделать в течение определенного периода времени, в то время как защита от перебора представляет собой механизмы, которые обнаруживают и блокируют повторные попытки входа в систему для предотвращения несанкционированного доступа или атак с подбором учетных данных в веб-приложениях.

Обход ограничений регистрации

Резюме: Ограничения на регистрацию в веб-приложении могут включать в себя использование уникальных адресов электронной почты или имен пользователей, требование надежных паролей, реализацию проверки электронной почты и ограничение количества учетных записей с одного и того же IP-адреса; если злоумышленник успешно обходит эти ограничения, он потенциально может создать несколько мошеннических учетных записей, неправомерно использовать приложение в вредоносных целях или заниматься спам-деятельностью, ставя под угрозу целостность приложения и удобство использования.

Обход ограничений процесса оплаты

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

Обход ограничений аутентификации

Резюме: Механизм входа в веб-приложение — это система, которая позволяет пользователям аутентифицировать себя, предоставляя действительные учетные данные (обычно имя пользователя и пароль) для получения доступа к своим учетным записям или определенным ресурсам в приложении.

Обход ограничений на сброс пароля

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

Условия гонки

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

Перечисление имени пользователя

Резюме: Злоумышленники могут использовать различные непреднамеренные методы для перечисления имен пользователей в веб-приложении. К ним относятся атаки грубой силы, наблюдение за ответами на перечисление пользователей, использование регистрации учетной записи, тестирование функции «Забыли пароль», очистка общедоступных профилей пользователей, запрос имен пользователей с помощью функции поиска, использование пользовательского контента и потенциальный доступ к информации пользователя через незащищенные конечные точки API. Последствия успешного перечисления имен пользователей могут варьироваться от несанкционированного доступа к учетной записи до сбора данных и целевых атак.

КРЕАТИВНОЕ ТЕСТИРОВАНИЕ ПРИЛОЖЕНИЙ

Публичный репозиторий и OSINT-тестирование

Внутренний исходный код в публичном репозитории

Резюме: Частный исходный код может случайно оказаться в общедоступных репозиториях GitHub и аналогичных платформах из-за того, что разработчики по ошибке помещают код в неправильные настройки репозитория. Это может произойти, когда разработчики забывают пометить репозиторий как частный или случайно включают конфиденциальные файлы при отправке обновлений.

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

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

Внутренние/привилегированные учетные данные в общедоступном репозитории GitHub

Резюме: Привилегированные учетные данные могут быть доступны в общедоступных репозиториях GitHub и аналогичных платформах, когда разработчики случайно включают файлы конфигурации или сценарии, содержащие конфиденциальную информацию, такую ​​​​как ключи API, пароли или токены доступа. Эти учетные данные могут предназначаться для целей разработки или тестирования, но случайно попадают в общедоступный репозиторий. Злоумышленники или автоматизированные сканеры могут затем обнаружить и злоупотребить этими открытыми учетными данными, что потенциально может привести к несанкционированному доступу или утечке данных.

Внутренний исходный код найден при парсинге веб-страниц

Резюме: Частный исходный код может быть обнаружен посредством парсинга веб-страниц, когда злоумышленники или автоматические боты нацеливаются на веб-приложения или веб-сайты, где исходный код случайно оказывается раскрыт или утечка. Это может произойти из-за неправильно настроенных веб-серверов или небезопасных методов разработки, которые обеспечивают прямой доступ к файлам исходного кода. Злоумышленники могут очистить HTML и JavaScript этих веб-страниц, потенциально раскрывая проприетарный код, алгоритмы или конфиденциальную информацию, что может привести к краже интеллектуальной собственности или уязвимостям безопасности, если код содержит недостатки.

Внутренние/привилегированные учетные данные, обнаруженные при веб-скрапинге

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