Методологии взлома веб-приложений

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

Архитектура веб-приложения состоит из:

  • Клиентский / презентационный уровень
  • Слой бизнес-логики
  • Уровень базы данных

Уровень клиента / представления состоит из устройств, на которых работает приложение. К таким устройствам относятся ноутбуки, планшеты, смартфоны и т. Д.

Уровень бизнес-логики состоит из двух уровней:


  • Слой логики веб-сервера, который состоит из компонентов, обрабатывающих запросы и ответы, и кода, который считывает и возвращает данные в браузер.


  • Слой бизнес-логики, содержащий данные приложения



Уровень базы данных состоит из уровня B2B и сервера базы данных, на котором хранятся данные организации.

Угрозы и атаки веб-приложений

OWASP - это открытое сообщество, которое позволяет организациям создавать, разрабатывать, приобретать, эксплуатировать и поддерживать приложения, которым можно доверять.

Проект OWASP Top 10 создает документ, описывающий 10 основных угроз безопасности приложений.

В последнем документе перечислены следующие 10 основных угроз безопасности:

Инъекция

Инъекционная атака - это атака, при которой злоумышленник вводит вредоносные данные в команды и запросы, которые затем выполняются в приложении.

Эта атака нацелена на поля ввода или точки входа приложения и позволяет злоумышленникам извлекать конфиденциальную информацию.

Наиболее часто используемые инъекционные атаки:

  • SQL-инъекция Атака, при которой злоумышленник вводит вредоносные SQL-запросы в приложение.
  • Внедрение команд атака, при которой злоумышленник вводит вредоносные команды в приложение.
  • Внедрение LDAP Атака, при которой злоумышленник внедряет в приложение вредоносные операторы LDAP.

Сломанная аутентификация

Сломанная аутентификация относится к угрозам и уязвимостям в аутентификации и управлении сеансом.

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

Некоторые из существующих уязвимостей включают:

  • Идентификаторы сеанса в URL-адресах
  • Незашифрованные пароли
  • Неправильно установленные тайм-ауты

Раскрытие конфиденциальных данных

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

Эта уязвимость позволяет злоумышленникам легко взломать шифрование и украсть данные.

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

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

Сломанный контроль доступа

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

Неверная конфигурация безопасности

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

Некоторые из проблем, которые вызывают уязвимости неправильной конфигурации безопасности, включают:

  • Непроверенные поля ввода
  • Форма и манипуляции с параметрами
  • Плохая обработка ошибок

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

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

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

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

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

Использование компонентов с известными уязвимостями

Использование компонентов с известными уязвимостями позволяет злоумышленникам использовать их и проводить атаки.

Недостаточное ведение журнала и мониторинг

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

Методология взлома

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

Вот эти шаги:

Следы веб-инфраструктуры

Веб-инфраструктура Footprinting помогает злоумышленнику собирать информацию о целевой веб-инфраструктуре и выявлять уязвимости, которые можно использовать.

В этом процессе злоумышленник выполняет:

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

Атака на веб-сервер

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

Анализ веб-приложений

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

Чтобы взломать приложение, злоумышленникам необходимо:

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

Уклонение от средств управления на стороне клиента

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

Чтобы обойти элементы управления на стороне клиента, злоумышленники пытаются:

  • Атака на скрытые поля формы
  • Атака на расширения браузера
  • Просмотрите исходный код

Атаки аутентификации

Злоумышленники пытаются использовать уязвимости, существующие в механизмах аутентификации.

Используя такие уязвимости, злоумышленники могут:

  • Перечисление имени пользователя
  • Парольные атаки
  • Сессионные атаки
  • Рабочий файл cookie

Атаки авторизации

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

Для проведения авторизационной атаки злоумышленник использует следующие источники:

  • НЕНАВИДЕТЬ
  • Изменение параметров
  • Данные POST
  • Заголовки HTTP
  • Печенье
  • Скрытые теги

Атаки контроля доступа

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

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

Атаки управления сеансом

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

Процесс создания действительного токена сеанса состоит из двух шагов:

  • Прогноз токена сеанса
  • Подделка токена сеанса

С действующим токеном злоумышленники могут выполнять такие атаки, как MITM, захват сеанса и воспроизведение сеанса.

Инъекционные атаки

Злоумышленники используют непроверенные данные для ввода вредоносных запросов и команд.

Эксплуатация уязвимости логики приложения

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

Атаки на подключение к базе данных

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

Атаки на веб-службы

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

Затем они используют различные методы для атаки на приложение.