ВУЗ: Алтайский Государственный Университет
Категория: Методичка
Дисциплина: Информационная безопасность
Добавлен: 29.10.2018
Просмотров: 1037
Скачиваний: 48
Лабораторная работа № 4
Тестирование веб-сайтов
В этой работе Вы должны познакомиться с технологиями тестирования на проникновение, инструмен-
тами для проведения такого тестирования, рекомендациями по разработке надёжных веб-приложений и
веб-сервисов.
Проект OWASP
Большая часть современных приложений используют сетевые технологии и по сути являются или веб-
приложениями (динамические сайты) или веб-сервисами. Для разработчиков таких приложений одним
из наиболее значимых вопросов является безопасность как всей инфраструктуры (обычно обеспечивается
хостинг-провайдером), так и скриптов (обеспечивается разработчиком).
Проблема осложняется тем, что для написания сайтов широко используются готовые решения в виде
различных фреймворков и CMS, где уровень безопасности поставляется «из коробки», и повлиять на него
очень проблематично. Стоит отметить, что каждый этап рефакторинга, добавления/изменения функци-
онала на сайте зачастую снижает уровень безопасности. Если на этапе запуска проекта уровень защиты
был протестирован и находился на допустимом уровне, то впоследствии могут появиться критические
уязвимости, обнаруживающие себя слишком поздно.
Список возможных уязвимостей веб-приложений и веб-сервисов весьма обширен, так как сайты и сер-
висы используют очень разнообразный стек технологий, который, в свою очередь, развивается достаточно
интенсивно. Ограниченная версия этого списка выглядит примерно так:
• PHP-инъекция;
• PHP-инъекция через загрузку файлов;
• SQL-инъекция;
• межсайтовый скриптинг (XSS);
• взлом сервисов аутентификации и управления сеансами;
• небезопасные прямые ссылки на объект;
• некорректная конфигурация безопасности инфраструктуры;
• доступность конфиденциальных данных;
• отсутствие контроля доступа на уровне функции;
• межсайтовая подделка запроса (CSRF);
• использование компонентов с известными уязвимостями;
• непроверенные перенаправления и переадресация;
• демонстрация ошибок пользователю;
• доступность данных о характеристиках системы пользователю;
• доступность данных о программном коде пользователю;
• возможность задания глобальных переменных;
С 2001 года существует открытый проект обеспечения безопасности веб-приложений (Open Web
Application Security Project) —OWASP. Сообщество OWASP включает в себя корпорации, образова-
тельные организации и частных лиц со всего мира, OWASP состоит примерно из 190 местных от-
делений, располагающихся по всему миру (Российское представительство OWASP находится здесь:
https://www.owasp.org/index.php/Russia
) и тысяч участников в листах рассылки проекта. Сообщество ра-
ботает над созданием статей, учебных пособий, документации, инструментов и технологий, находящихся
в свободном доступе.
c
О. В. Журенков
АлтГУ, МИЭМИС, каф. МПИЭГМУ, г. Барнаул -2017
2
OWASP не аффилирован ни с одной компанией, занимающейся разработкой технологий, он поддер-
живает грамотное использование технологий безопасности. Проект избегает аффилирования, так как
полагает, что свобода от влияния со стороны других организаций может облегчить распространение бес-
пристрастной, полезной и дешевой информации о безопасности приложений.
Участники сообщества OWASP делают приложения безопаснее, учитывая человеческий фактор и тех-
нологический уровень. Наиболее востребованные документы, опубликованные OWASP, включают в себя:
Руководство OWASP —
www.owasp.org/index.php/OWASP_Guide_Project
Обзорное руководство по программированию —
www.owasp.org/index.php/Category:OWASP_Code_Review_Project
Руководство по тестированию OWASP —
https://www.owasp.org/index.php/OWASP_Testing_Project
Проект Топ-10 OWASP —
www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
Руководство по Разработке OWASP даёт практические советы и содержит примеры кода на J2EE,
ASP.NET и PHP. Руководство по Разработке охватывает обширный массив вопросов безопасности для
уровня приложений, таких как SQL-инъекции, фишинг, обработка кредитных карт, фиксация сессий,
подделка межсайтовых запросов, согласование и конфиденциальность.
OWASP создал стандарт
OWASP Application Security Verification Standard (ASVS)
. Основная цель
OWASP ASVS — это стандартизация диапазона охвата и уровня строгости доступных на рынке прило-
жений, обеспечивающих безопасность, а также создание набора коммерчески успешных открытых стан-
дартов, приспособленных для специализированных веб-технологий. Сборник для веб-приложений уже
опубликован, сборник для веб-сервисов находится в процессе разработки.
Самыми распространёнными инструментами OWASP являются тренировочная среда WebGoat (
https://www.owasp.org/index.php/Category:OWASP_WebGoat_Project
прокси-анализатор Zed Attack Proxy (
https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
и .NET инструменты (
https://www.owasp.org/index.php/Category:OWASP_.NET_Project
Задание 1.
Использование IBM Security AppScan Standard для сканирования веб-
приложений на наличие уязвимостей безопасности
Доступная версия «IBM Security AppScan Standard» позволяет сканировать только сайт demo.testfire.net.
Для этого сайта есть доступ в один аккаунт — имя пользователя: jsmith пароль: demo1234.
Сканирование «AppScan» состоит из двух этапов: анализ и тестирование.
Анализ — сайту отправляются запросы для сбора данных о нем и его структуре в автоматическом
режиме или вручную. AppScan анализирует ответы, выполняет поиск потенциальных уязвимостей
и создает тестовые запросы.
Тестирование — AppScan отправляет тысячи пользовательских тестовых запросов. Он записывает и
анализирует ответы приложения, обнаруживая неполадки защиты, определяя уровень риска и пред-
лагая рекомендации.
В ходе полностью автоматического сканирования после завершения первой фазы анализа и тестирования
AppScan переходит к новой фазе для обработки информации, полученной в ходе тестирования. Сканиро-
вание завершается после выполнения настроенного числа фаз сканирования.
Анализ веб-приложения или веб-службы перед проверкой с помощью AppScan можно выполнить тремя
способами:
• С помощью AppScan: продукту AppScan передаются начальный URL и идентификационные дан-
ные для автоматического анализа. Кроме того, можно вручную проверить сайт, чтобы предоставить
AppScan доступ к областям, для обращения к которым требуются специальные действия пользова-
теля.
• С помощью внешнего устройства для анализа веб-служб RESTful или других веб-служб, отличных от
SOAP или служб SOAP, не требующих конвертов защиты — запросы отправляются на сайт с помо-
щью мобильного телефона, симулятора или эмулятора; AppScan настраивается как записывающий
прокси-сервер.
• С помощью GSC (Generic Service Client, общий клиент служб): при наличии файла WSDL интегри-
рованный клиент (GSC) может создать интерфейс, в котором отображаются службы и можно ввести
параметры и просмотреть результаты.
c
О. В. Журенков
АлтГУ, МИЭМИС, каф. МПИЭГМУ, г. Барнаул -2017
3
Результаты сканирования удобно представить в виде отчёта. В «AppScan» можно управлять содержи-
мым и макетом отчётов, доступны отчёты различных типов:
Отчёт о защите — перечисленыhtpasswd -c .htpasswd captain обнаруженные уязвимости защиты.
Промышленный стандарт — указывает, соответствует ли приложение требованиям выбранных стан-
дартов (PCI, OWASP Top 10, SANS или WASC).
Соблюдение требований законодательства — указывает, соответствует ли приложение требованиям
законодательства (например, HIPAA, GLBA, SOX, California SB 1386 и AB 1950).
Разностный анализ — сравнивает два набора результатов сканирования и отображает различия URL
и/или неполадок защиты.
Шаблоны отчётов — позволяет создать отчёты с пользовательскими данными и параметрами форма-
тирования в виде файлов MS Word (.doc).
1. Зайдите на сайт demo.testfire.net. Посмотрите разделы сайта. Попробуйте зайти в аккаунт jsmith
(пароль: demo1234). Посмотрите доступные для этого пользователя ресурсы.
2. Запустите «IBM Security AppScan Standard». Закройте окно приветствия.
3. Создайте новое сканирование (B Файл B Создать...).
4. Выберите шаблон обычного сканирования (Regular Scan).
5. В мастере настройки сканирования выберите метод анализа AppScan.
6. Настройте сканирование с помощью AppScan: начальный URL сканирования: https://demo.testfire.net.
7. Если работа выполняется в компьютерном классе университета, то необходимо настроить дополни-
тельные параметры связи (поставить флажок в нижней части окна). На следующем шаге необходимо
выбрать пользовательские настройки прокси-сервера, адрес:
• в классах МИЭМИС: proxy-sc.asu.ru;
• в остальных классах АлтГУ: proxy.asu.ru или proxy-class.asu.ru (можно посмотреть с по-
мощью netstat).
порт: 3168. Для прокси обязательно надо настроить имя пользователя, пароль (указав свои значения)
и домен stud. Вернитесь на шаг назад и проверьте соединение с сервером (кнопка
).
8. Далее, выберите способ входа на сайт Автоматический и задайте параметры авторизации для входа
на сайт:
• логин: jsmith;
• пароль: demo1234;
9. Выберите из шаблонов стратегию тестирования — Полный.
10. Далее, выберите запуск полностью автоматического сканирования.
11. Задайте файл для сохранения результатов сканирования. После этого должно запуститься сканиро-
вание.
Сначала будет выполнено оценочное сканирование, после анализа его результатов будут выданы
рекомендации по изменению параметров для оптимизации стратегии сканирования веб-сайта.
12. Выполните выданные рекомендации (измените параметры, настройки сканирования). Некоторые
параметры среды исполнения веб-приложения можно выяснить изучая сайт, используя обычный
браузер.
Полный доступ к параметрам конфигурации сканирования можно получить через соответству-
ющую пиктограмму или меню B Сканирование I Конфигурация сканирования ( F10 ).
Чем точнее Вы укажете известные данные, тем быстрее будет произведено тестирование и анализ
сайта.
c
О. В. Журенков
АлтГУ, МИЭМИС, каф. МПИЭГМУ, г. Барнаул -2017
4
13. Просмотрите в разделе ТЕСТ выбранные Стратегии тестирования (кнопкой + раскрываются груп-
пы). Здесь можно узнать о сути тестируемой уязвимости (на вкладке Сообщение) и Рекомендации
по исправлению этой уязвимости.
14. Примените рекомендации (помеченные). При этом запустится повторное сканирование, более глу-
бокое, для полного экспертного анализа.
В процессе тестирования возможны обнаружения уязвимостей, они будут скапливаться в разделе
Неполадки (B Вид I Защита). По умолчанию список Упорядочен по приоритету, По убыванию.
Во время сканирования можно просмотреть найденные уязвимости (Информация о неполадке), их
описание Сообщение) и рекомендации для их устранения (Рекомендации по исправлению).
Во вкладке Запрос/Ответ можно просматривать описание теста, посылаемый запрос (начинается с
GET) и ответ сервера (начинается с HTTP). Здесь можно выполнять поиск текста, открывать запрос
в браузере. Через локальное меню B Опции можно задать параметры выбранному тесту.
15. В разделе Данные (B Вид I Данные приложения) можно просмотреть сгенерированные для тестиро-
вания данные (параметры, запросы, и т. д.). Обратите особое внимание на вкладку Требуется взаимо-
действие с пользователем, если в этом разделе есть данные, необходимо вручную ввести необходимые
значения.
16. В разделе Задачи (B Вид I Задачи исправления) можно посмотреть выданные рекомендации для
устранения обнаруженных уязвимостей. В крайнем левом столбце представлена в виде дерева файло-
вой системы логического каталога сайта (На основе URL) или связанного списка файлов физического
каталога сайта (На основе содержимого). Выбирая ветки этого дерева можно видеть отфильтрован-
ные рекомендации для выбранной ветки (папки или файла).
17. После окончания сканирования, просмотрите Протокол сканирования (B Вид I Протокол сканирова-
ния).
18. Откройте в разделе XSS первый тест (amCreditOffer (Cookie)), прочитайте о нём информацию,
просмотрите запрос этого теста в браузере, пометьте этот тест, как не имеющий уязвимостей.
19. Откройте мастер создания отчётов, добавьте в Макет верхний колонтитул со своей фамилией, ини-
циалами и номером группы. Создайте 3 отчёта:
• Защита — используйте шаблон Подробный отчёт, добавьте в содержание отчёта Запрос/Ответ.
• Соответствие промышленным стандартам — OWASP Top 10 2013.
• Соблюдение требований законодательства — выберите Payment Application Data Security Standart.
Задание 2.
Сканирование сайта свободными инструментами
Сканирование произвольного сайта может повлечь административную и даже уголовную ответствен-
ность. В этом задании Вам предлагается протестировать специально созданный компанией ADN Digital
Studio сайт
1. Скачайте виртуальную машину с Kali Linux с
. Запустите Kali.
2. Изучите тестируемый сайт (как обычный пользователь, через браузер).
3. Просмотрите доступные установленные инструменты (через меню). Запустите «Sparta».
4. Задайте параметры прокси, как в задании
5. Добавьте в «Sparta» IP-адрес тестируемого ресурса. Выполните тестирование.
6. Укажите в отчёте, какие службы и по каким портам доступны. Подкрепите ответ скриншотом служб.
7. Добавьте в отчёт протоколы работы используемых внешних инструментов.
8. Скачайте (в Kali) «Словари для брута» с ресурса
(можете найти в Сети и другие
словари).
Выполните подбор идентификационных данных для тех сервисов, для которых требуется аутенти-
фикация (отправьте их в Brute). Для этого могут пригодиться словари (загрузите их в «Sparta» в
соответствующие разделы).
Добавьте в отчёт протоколы взлома (Brute).
c
О. В. Журенков
АлтГУ, МИЭМИС, каф. МПИЭГМУ, г. Барнаул -2017
5
9. Какую ещё информацию об этом сайте Вы можете добавить? Можете использовать другие свободные
инструменты. Добавьте эту дополнительную информацию в отчёт.