Тестирование контроля доступа
Это дополнение позволяет пользователям сравнивать, какие части веб-приложения доступны для некоторых пользователей, осуществлять контроль доступа
тестирование и выявление потенциальных проблем с контролем доступа. Он позволяет настраивать правила доступа и проводит полный
атака, направленная на выявление разделов веб-приложения, доступных для неавторизованных клиентов.
Следует объяснить две основные концепции, связанные с этим дополнением: правила доступа и тестирование.
процедура .
Правило доступа
Чтобы выявить потенциальные проблемы с контролем доступа, ZAP должен знать, какие части веб-приложения
должен быть доступен для какого пользователя. В ZAP эти правила называются Правила доступа и обычно имеют
значение: «Страница A должна/не должна быть доступна пользователю X».
Правила настроены для контекста, и для каждого пользователя этого контекста каждый узел сайта (веб-страница) будет
связано с одним из следующих значений:
- Разрешено - ресурс может быть доступен Пользователю, к которому относится правило.
- Запрещено - ресурс не должен быть доступен Пользователю, на которого ссылается правило.
- Неизвестно – нет информации о том, должен или не должен быть доступен ресурс.
Пользователю, к которому относится правило
Чтобы упростить процесс определения правил доступа, ZAP использует древовидную структуру URL-адресов.
При анализе правил используется алгоритм вывода для обнаружения правил соответствия для каждого узла на основе его
parent в URL-адресе, если не определены конкретные правила. Это означает, что при настройке правил доступа только 1
правило должно быть установлено явно для всего поддерева, в то время как для других узлов правила выводятся. Подробнее
об этом можно узнать на странице справки Параметры контекста контроля доступа.
Процедура тестирования
В целом, чтобы полностью выполнить тестирование управления доступом для веб-приложения, следующие шаги должны быть
последовало:
- тестер определяет набор Пользователей и то, как они аутентифицируются;
- тестер определяет, как ZAP может идентифицировать неавторизованные запросы (через панель авторизации в сеансе
Характеристики);
- веб-приложение исследуется либо вручную, либо через Паук;
- тестер определяет правила доступа для каждого из пользователей, связанных с контекстом, в основном сообщая ZAP
какие части веб-приложения должны быть доступны тем или иным пользователям;
- «атака» выполняется ZAP, пытаясь получить доступ к каждому URL-адресу веб-приложения с точки зрения каждого
Пользователь;
- на соответствующей вкладке «Статус» отображаются результаты, показывающие, к каким страницам был успешно получен доступ
какие пользователи и отмечая случаи, когда правила доступа не соблюдались.
Примечание: Тестирование контроля доступа не допускается в Безопасный режим ни Защищённый если контекст не входит в область действия.
API
Надстройка предоставляет следующие конечные точки API:
Действия
Сканировать
Запускает сканирование контроля доступа с заданным идентификатором контекста и идентификатором пользователя (может быть списком идентификаторов, разделенных запятыми).
(Необязательные параметры: логическое значение, указывающее, следует ли включать неаутентифицированного пользователя (по умолчанию false), логическое значение
определение того, выдаются ли предупреждения (по умолчанию — true), и уровень риска для предупреждений (по умолчанию — высокий).)
[ Примечание: Это предполагает, что правила контроля доступа были ранее установлены через графический интерфейс ZAP, а необходимый контекст экспортирован/импортирован.]
writeHTMLreport
Создает отчет об управлении доступом для данного идентификатора контекста и сохраняет его на основе предоставленного имени файла (пути).
Просмотры
getScanProgress
Получает ход сканирования контроля доступа (целое число в процентах) для данного идентификатора контекста.
getScanStatus
Получает статус проверки контроля доступа (строка описания) для данного идентификатора контекста.
Смотрите также