Читать книгу: «Анализ защищенности распределенных информационных систем. bWAPP. Для студентов технических специальностей»

Шрифт:

Три столпа информационной безопасности – это конфиденциальность, целостность и доступность, которые называются триадой CIA (Confidentiality, Integrity, Availability) Джейсон Андресс


Составитель Владислав Александрович Сериков

Составитель Олеся Владимировна Капчинская

© Иван Андреевич Трещев, 2025

© Наталья Андреевна Гулина, 2025

© Алина Ильлинична Малаховец, 2025

© Владислав Александрович Сериков, составитель, 2025

© Олеся Владимировна Капчинская, составитель, 2025

ISBN 978-5-0068-3273-2

Создано в интеллектуальной издательской системе Ridero

Введение

Мы рассмотрим bWAPP beebox представляющую собой уязвимую виртуальную машину. bWAPP охватывает более 100 известных веб-уязвимостей, включая все риски из списка OWASP Top 10, и предлагает три уровня безопасности (low, medium и high), что позволяет пользователям готовиться к тестам на проникновение. Далее опишем уязвимости из OWASP Top 10.

Инъекция – это попытка злоумышленника отправить данные в приложение таким образом, чтобы изменить смысл команд, отправляемых интерпретатору. Например, наиболее распространенным примером является SQL-инъекция, когда злоумышленник отправляет «101 OR 1 = 1» вместо просто «101». При включении в запрос SQL эти данные меняют значение, возвращая все записи вместо одной. В типичной веб-среде есть множество интерпретаторов, таких как SQL, LDAP, операционная система, XPath, XQuery, язык выражений (EL) и многие другие. Все, что связано с «командным интерфейсом», объединяющим данные в команду, восприимчиво к инъекциям. Даже XSS – это просто форма HTML-инъекции.

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

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

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

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

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

Далее мы сконцентрируемся на практических приемах применения средств перехвата траффика, реверс прокси, средств проведения атак именно для виртуальной инфраструктуры bWAPP для демонстрации основных уязвимостей OWASP Top 10. Авторы предполагают, что читатели самостоятельно развернут на доступном гипервизоре или на hardware образ bWAPP.

1 Broken Auth

1.1 Forgotten Function

Рисунок 1 – Задание 1


Введем произвольный почтовый адрес и посмотрим на вывод.


Рисунок 2 – Введен неверный почтовый ящик


Создадим пользователя и попробуем ввести его почтовый ящик в данную форму.


Рисунок 3 – Создание пользователя


Рисунок 4 – Введен существующий почтовый ящик


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

1.2 Insecure Login Forms

Рисунок 5 – Задание 2


Введем произвольную пару логин/пароль и посмотрим на вывод.


Рисунок 6 – Введена неверная пара логин/пароль


Посмотрим код страницы


Рисунок 7 – Исходный код страницы


Видим, что на странице есть стандартные логин/пароль. Попробуем их ввести.


Рисунок 8 – Введены данные со страницы


Таким образом данная форма содержит дефолтные логин/пароль (возможно при проверке программист забыл их удалить), что является серьезной уязвимостью.

1.3 logout Management

Рисунок 9 – Задание 3


Попробуем разлогиниться, нажав на гиперссылку «here».


Рисунок 10 – Всплывающее окно


После нажатия появилось всплывающее окно с подтверждением. Подтверждаем выход.


Рисунок 11 – Попали на страницу логина


Если злоумышленник нажмет сейчас кнопку «Назад», то сессия пользователя восстановиться и он попадет на начальную страницу.


Рисунок 12 – Вернулись в сессию


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

1.4 Password Attacks

Рисунок 13 – Задание 4


Попробуем ввести произвольные логин/пароль.


Рисунок 14 – Введены неверные логин/пароль


Попробуем при помощи Burp Suite провести атаку перебора.


Рисунок 15 – Отправляем запрос в Intruder


Рисунок 16 – Выбираем цель атаки


Рисунок 17 – Выбираем тип атаки «Cluster bomb» и добавляем перебираемые параметры (login и admin)


Рисунок 18 – Создаем словарь и правила для первого поля (login)


Рисунок 19 – Создаем словарь и правила для второго поля (password)


Рисунок 20 – Добавляем строки для отсеивания результатов перебора


Нажимаем кнопку «Start attack» и смотрим результат.


Рисунок 21 – Результаты перебора


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


Рисунок 22 – Корректный подбор логина/пароля


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

1.5 Weak Passwords

Рисунок 23 – Задание 5


Попробуем ввести произвольные логин/пароль.


Рисунок 24 – Введены неверные логин/пароль


Попробуем при помощи Burp Suite провести атаку перебора (см. предыдущий пункт). Посмотрим на результат перебора.


Рисунок 25 – Результаты перебора


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


Рисунок 26 – Корректный подбор логина/пароля


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

1.6 Administrative Portals

Рисунок 26 – Задание 6


Посмотрим на URL


Рисунок 27 – URL страницы


При помощи get-запроса передается параметр admin со значением 0. Попробуем изменить это значение на 1.


Рисунок 28 – Разблокированная страница


Таким образом нельзя проводить никакие проверки прав только на стороне пользователей. Всегда следует оставлять дополнительную проверку на стороне сервера.

Бесплатный фрагмент закончился.

Возрастное ограничение:
12+
Дата выхода на Литрес:
22 октября 2025
Объем:
278 стр. 406 иллюстраций
ISBN:
9785006832732
Правообладатель:
Издательские решения
Формат скачивания: