4.1.7 Составление карты веб-приложения
Задачи тестирования
Составить карту веб-приложения и понять принципы его работы.
Как тестируем?
Используя методологию тестирования "черным ящиком", довольно сложно будет протестировать всю кодовую базу. Это связано не столько с тем, что тестировщик не имеет доступа к коду приложения, сколько с тем, что тестирование всего приложения — очень затратный по времени процесс.
Существует несколько подходов к тестированию и измерению покрытия кода:
- Path — тестирование каждого пути в рамках приложения, включающее комбинаторные и граничные проверки значений для каждого пути. Такой подход весьма тщательный, но количество тестируемых путей растет экспоненциально с добавлением нового параметра для тестирования.
- Data flow — тестирование путей и переменных приложения с точки зрения пользователя, уделяет особое внимание процессу передачи и использования данных при работе приложения.
- Race — тестирование, подразумевающее изменение одних и тех же параметров и входных данных одновременно для нескольких параллельно выполняющихся инстансов приложения.
Перед тестированием стоит согласовать с владельцем веб-приложения , какой метод исследования мы будем применять .
Тестирование методом "Черного ящика"
Можно начать с документирования всех ссылок и путей исполнения приложения, обнаруженных при исследовании приложения (spidering, как ручной так и автоматический). Затем, можно проанализировать более подробно точки принятия решений (“развилки”). Все собранные данные необходимо задокументировать, чтобы можно было предоставить владельцу веб-приложения документ, описывающий пути исполнения, покрытые тестами.
Тестирование методом "серого/белого ящика"
При методологии тестирования серым/белым ящиком же , в отличие от Чёрного, гораздо проще добиться более полного покрытия приложения.
Пример
Automatic Spidering
“Паук” — инструмент для автоматического исследования ресурсов (URLs) приложения. Он начинает свою работы со списка ссылок (называемых seed, сид), которые необходимо посетить, затем автоматически следует ссылкам, встречающимся на веб-страницах, таким образом обнаруживая возможные пути исполнения приложения. В примере используется Zed Attack Proxy (ZAP):
ZAP может работать в следующих режимах, в зависимости от настроек:
- Spider site — сид лист содержит все уже обнаруженные URL выбранного сайта
- spider subtree — сид лист содержит все уже обнаруженные URL для выбранной ветки сайта
- spider URL — сид лист содержит только URL, относящиеся к соответствующей ноде для выбранной ветки сайта
- spider all in scope — сид лист содержит только URL, которые выбрал пользователь.
Инструменты:
Справочные материалы
Перевод подготовлен специально для канала t.me/FreedomF0x
Contact: t.me/freedomf0x t.me/Slippery_Fox twitter.com/FlatL1ne
xmpp(жаба_ёпт): [email protected]
При поддержке друзей: t.me/in51d3 t.me/NeuroAliceMusic t.me/vulnersBot t.me/darknet_prison
Our private (no logs) xmpp server: FreedomFox.im (for add, write to [email protected])
Хорошо там где нас нет (с) Русские хакеры
Добре там де нас немає (с) Російські хакери