Uploaded by zvshka (zvshka)

OBVP LB 3 Pushpurs ISPsp-119

advertisement
Министерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«Владимирский государственный университет
имени Александра Григорьевича и Николая Григорьевича Столетовых»
(ВлГУ)
Кафедра информационных систем и программной инженерии
Лабораторная работа № 3
по дисциплине «Обеспечение безопасности
веб-приложений»
Тема: «Тестирование защищенности механизма управления доступом»
Выполнил:
студент гр. ИСПсп-119
Пушпурс А.Ю.
Принял:
Голубев С.А.
Владимир 2023 г.
Цель работы: Освоить методы и средства тестирования защищённости
механизма управления доступом в веб-приложениях.
Задание: Протестировать защищенность механизма управления доступом
исследуемого веб-приложения.
Ход работы:
Сайт https://jut.su:
1. Настроить работу браузера через штатный прокси-сервер Burp Suite. В
веб-браузере открыть главную страницу тестируемого веб-приложения.
Рисунок 1 – Настройка штатного прокси-сервера
Рисунок 2 – Главная страница веб-приложения
2. Зарегистрироваться в веб-приложении. Получить идентификатор
учётной записи и пароль доступа к веб-приложению.
Проанализировать предсказуемость идентификаторов пользователей и,
если это возможно, алгоритм назначения идентификаторов.
Проанализировать реализованную в веб-приложении парольную
политику. Оценить доступную сложность выбора паролей
пользователями.
Рисунок 3 – Регистрация нового пользователя
Рисунок 4 – Идентификатор учётной записи и пароль доступа
Рисунок 5 – Парольная политика
3. Перейти по ссылке для аутентификации в приложении. При этом
необходимо убедиться, что форма аутентификации доступна только по
протоколу HTTPS. Убедиться, что вводимые пользователем логин и
пароль отправляются в зашифрованном виде по протоколу HTTPS.
Убедиться, что логин и пароль не отправляются с помощью HTTPметода GET.
Рисунок 6 – Изменение протокола в URL
Рисунок 7 – Изменение протокола в URL
Рисунок 8 – Запрос
4. Проверить, что в веб-приложении изменены стандартные пароли для
встроенных учётных записей. Проверить, что новые учётные записи
создаются с различными паролями.
Рисунок 9 – Проверка стандартных паролей
Рисунок 10 – Проверка стандартных паролей
5. Проверить возможность идентификации пользователей вебприложения через формы регистрации, входа и восстановления пароля.
Рисунок 11 – Вход с несуществующими логином и паролем
Рисунок 12 – Вход с существующим логином и несуществующим паролем
HTTP-ответы получены за 14.52 и 167.63 миллисекунд, что говорит о
большой задержке. Изменяемые параметры не были заменены.
Рисунок 13 – Анализ задержки ответа для входа с несуществующими
данными
Рисунок 14 – Анализ задержки ответа для входа с несуществующими
данными
6. Проверить возможность реализации атаки подбора пароля
пользователя. Ввести имя пользователя. Ввести несколько раз
неправильный пароль (5-10 раз). После этого ввести правильный
пароль для этой учётной записи. Ввести одинаковый пароль для разных
учётных записей.
Блокировка аккаунта произошла после более 10-ти попыток входа на
20 минут, что создает условие для реализации DoS-атаки и не должно
использоваться в механизмах защиты от атак подбора паролей.
Рисунок 15 – Блокирование учетной записи после неудачных попыток входа
7. Проверить, что чувствительный контент (например, страницы с
введёнными номерами кредитных карт, счетов, адресов) не доступен
через механизм History веб-браузера, а также не кэшируется им. Войти
под учётной записью пользователя, перейти на страницу с
чувствительным контентом. Ввести новые данные.
Этап невозможно сделать на этом сайте.
8. Запустить веб-приложение Web Goat. Ввести логин: «guest», пароль:
«guest».
Рисунок 16 – Вход в Web Goat
Перейти по ссылке Access Control Flaws → Bypass a Path Based Access
Control. Изучить условия задачи. Используя FireBug (или любой
аналогичный инструмент), изменить значение AccessControlMatrix.html на
../../main.jsp. Нажать кнопку «View File».
Рисунок 17 – Изменение значения
Рисунок 18 – Результат изменения
Перейти по ссылке LAB: Role Based Access Control → Stage 1. Изучить
условия задачи. Войти под пользователем Tom (пароль: Tom).
Рисунок 19 – Вход под пользователем Tom
Можно видеть, что от пользователя скрыта кнопка «DeleteProfile», так
как он не должен иметь возможности удалять учётные записи. Нажать
кнопку «View Profile».
Рисунок 20 – Скрытая кнопка
Рисунок 21 – Запрос после нажатия кнопки
Используя FireBug (или любой аналогичный инструмент), изменить
HTML-разметку, заменив элемент
<input type="submit" value="ViewProfile" name="action">
на элемент
<input type="submit" value="DeleteProfile" name="action">
Рисунок 22 – Замена элемента
Нажать кнопку «DeleteProfile». Просмотреть отправленный запрос в
Burp Suite.
Рисунок 23 – Отправленный запрос
Профиль пользователя будет удален.
Опционально решить задачу LAB: Role Based Access Control → Stage 2.
Перейти по ссылке LAB: Role Based Access Control → Stage 3. Изучить
условия задачи. Войти под пользователем Tom (пароль: Tom). Нажать кнопку
«View Profile». В Burp Suite просмотреть запрос. Можно видеть, что
пользователю доступны данные своего профиля. Используя FireBug (или
любой аналогичный инструмент), изменить HTML-размету, заменив элемент
<option value="105" selected="">Tom Cat (employee)</option> на
элемент
<option value="103" selected="">Tom Cat (employee)</option>
Рисунок 24 – Замена элемента
Нажать кнопку «ViewProfile». Просмотреть отправленный запрос в
Burp Suite. Будут выведены данные профиля пользователя Curly Stooge.
Рисунок 25 – Данные профиля
Опционально решить задачу LAB: Role Based Access Control → Stage 4.
Перейти по ссылке «Remote admin access». Изучить условия задачи.
Просмотреть подменю «Admin Functions». Перейти по ссылке
WebGoat/attack?Screen=86&menu=200&admin=true.
Рисунок 26 – Переход по ссылке
Вывод: В ходе проделанной работы были освоены методы и средства
тестирования защищённости механизма управления доступом в вебприложениях.
Download