Веб-приложения - это программы, которые позволяют пользователям взаимодействовать с веб-серверами. Они запускаются в веб-браузерах с помощью клиентских и серверных скриптов.
Архитектура веб-приложения состоит из:
Уровень клиента / представления состоит из устройств, на которых работает приложение. К таким устройствам относятся ноутбуки, планшеты, смартфоны и т. Д.
Уровень бизнес-логики состоит из двух уровней:
Слой логики веб-сервера, который состоит из компонентов, обрабатывающих запросы и ответы, и кода, который считывает и возвращает данные в браузер.
Слой бизнес-логики, содержащий данные приложения
Уровень базы данных состоит из уровня B2B и сервера базы данных, на котором хранятся данные организации.
OWASP - это открытое сообщество, которое позволяет организациям создавать, разрабатывать, приобретать, эксплуатировать и поддерживать приложения, которым можно доверять.
Проект OWASP Top 10 создает документ, описывающий 10 основных угроз безопасности приложений.
В последнем документе перечислены следующие 10 основных угроз безопасности:
Инъекционная атака - это атака, при которой злоумышленник вводит вредоносные данные в команды и запросы, которые затем выполняются в приложении.
Эта атака нацелена на поля ввода или точки входа приложения и позволяет злоумышленникам извлекать конфиденциальную информацию.
Наиболее часто используемые инъекционные атаки:
Сломанная аутентификация относится к угрозам и уязвимостям в аутентификации и управлении сеансом.
Злоумышленники используют эти уязвимости, чтобы выдать себя за свои цели.
Некоторые из существующих уязвимостей включают:
Угрозы раскрытия конфиденциальных данных возникают в приложениях, которые используют слабый код шифрования для шифрования и хранения данных.
Эта уязвимость позволяет злоумышленникам легко взломать шифрование и украсть данные.
Атака на внешний объект XML - это атака, при которой злоумышленник использует плохо настроенный синтаксический анализатор XML, заставляя приложение анализировать входные данные XML, поступающие из ненадежного источника.
Нарушение контроля доступа относится к угрозам и уязвимостям в управлении доступом. Злоумышленники используют эти уязвимости, чтобы избежать аутентификации и получить права администратора.
Неправильная конфигурация безопасности относится к уязвимостям, которые существуют в приложениях с плохо настроенным стеком приложений.
Некоторые из проблем, которые вызывают уязвимости неправильной конфигурации безопасности, включают:
Атака с использованием межсайтовых сценариев - это атака, при которой злоумышленник внедряет сценарии в веб-страницы, которые выполняются в системе цели.
Под небезопасной десериализацией понимается уязвимость, которую злоумышленники используют, внедряя вредоносный код в сериализованные данные, которые затем отправляются цели.
Из-за уязвимости небезопасной десериализации вредоносные сериализованные данные десериализуются без обнаружения вредоносного кода, что позволяет злоумышленнику получить несанкционированный доступ к системе.
Использование компонентов с известными уязвимостями позволяет злоумышленникам использовать их и проводить атаки.
Недостаточное ведение журнала и мониторинг происходят, когда приложение не может регистрировать вредоносные события и действия. Это вызывает трудности при обнаружении атак на систему.
Методология взлома веб-приложений предоставляет злоумышленникам шаги, которые необходимо выполнить для успешной атаки.
Вот эти шаги:
Веб-инфраструктура Footprinting помогает злоумышленнику собирать информацию о целевой веб-инфраструктуре и выявлять уязвимости, которые можно использовать.
В этом процессе злоумышленник выполняет:
Информация, собранная на этапе следа, позволяет хакерам анализировать ее, находить уязвимости для использования и использовать различные методы для запуска атак на сервер.
Злоумышленники анализируют целевое веб-приложение, чтобы определить его уязвимости и использовать их.
Чтобы взломать приложение, злоумышленникам необходимо:
Злоумышленники пытаются обойти клиентский контроль над вводом данных и взаимодействием пользователя.
Чтобы обойти элементы управления на стороне клиента, злоумышленники пытаются:
Злоумышленники пытаются использовать уязвимости, существующие в механизмах аутентификации.
Используя такие уязвимости, злоумышленники могут:
Атака авторизации - это атака, при которой злоумышленник получает доступ к приложению через легитимную учетную запись с ограниченными привилегиями, а затем использует эту учетную запись для повышения привилегий.
Для проведения авторизационной атаки злоумышленник использует следующие источники:
Злоумышленники анализируют целевой веб-сайт, пытаясь узнать подробности о реализованном контроле доступа.
В ходе этого процесса злоумышленники пытаются узнать, у кого есть доступ к каким наборам данных, у кого какой уровень доступа и как повысить привилегии.
Злоумышленники используют уязвимости в аутентификации и управлении сеансами, чтобы выдать себя за свои цели.
Процесс создания действительного токена сеанса состоит из двух шагов:
С действующим токеном злоумышленники могут выполнять такие атаки, как MITM, захват сеанса и воспроизведение сеанса.
Злоумышленники используют непроверенные данные для ввода вредоносных запросов и команд.
Плохие навыки программирования могут сделать приложение уязвимым из-за его логических ошибок. Если злоумышленнику удается выявить такие недостатки, он может использовать их и начать атаку.
Злоумышленники осуществляют атаки на подключение к базе данных, чтобы получить контроль над базой данных и, таким образом, получить доступ к конфиденциальной информации.
Злоумышленники нацелены на веб-службы, интегрированные в веб-приложение, чтобы найти и использовать уязвимости бизнес-логики приложения.
Затем они используют различные методы для атаки на приложение.