June 11, 2020

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])

Хорошо там где нас нет (с) Русские хакеры
Добре там де нас немає (с) Російські хакери