цією (часто) незалежним від Платформи способом помощью інфраструктурі Internet. Прикладами web-Додатків є пошукові системи, web-ПОШТА, онлайнові магазини и т.п.додаткі зазвічай взаємодію з користувачем помощью елементів форм и змінніх GET або POST. У разі использование методу GET всі значення, передані додатком могут буті відні безпосередно в URL, в тій годину як у випадка POST-Запитів для визначення того, что вводити користувач, часто доводитися вівчіті вихідний текст Сторінки, что містіть форму (або перехопіті и декодіроватьзапрос).запіт, надіс типів web-додатком, Виглядає Наступний чином:/sample.php? Var=val amp; var2=val2 HTTP/1.1 | метод REQUEST-URI протокол/версия Session-ID: 361873127da673c | заголовок Session-ID Host: webserver | заголовок Host lt; CR gt; lt; LF gt; lt; CR gt; lt; LF gt; | Дві перекладу рядка.
Коженая елемент цього запиту потенційно может буті використаних web-додатком, его обрабатівающіем. У REQUEST-URI находится адресою програмної одиниці, яка буде запущена для ОБРОБКИ запиту, а такоже рядок зі списком параметрів - список пар amp; variable=value, что визначаються вхідні параметри. Це Основна частина вхідніх даних web-Додатки. Тема Session-ID містіть Ідентифікатор Сесії, встановленої Клієнтом в якості прімітівної форми аутентіфікації. Тема Host призначеня для виборі одного з декількох віртуальніх хостів, викорис одна и тієї ж IP-адресою, и зазвічай обробляється web-сервером, но может буті Доступний и web-додатком.
Тестуючій винен використовуват всі Доступні методи введення даних для Досягнення виняткова умів Всередині програми. Тобто вині повінні буті обмежені тім, что надає броузел чі Автоматизовані засоби. HTTP-запит очень легко генеруються помощью таких утіліт як curl, або скриптів Оболонков, что Використовують netcat. Процес вічерпного тестування за методом чорного ящика Включає в собі дослідження шкірного елемента даних, визначення очікуваного введенні, спотворення его, і аналіз результатів роботи програми на предмет Виявлення ознакой несподіваного поведінкі.
Одним З першого кроків тестування має буті визначення оточення, в якому віповнюється web-приложение. Це Включає інформацію про вікорістовувані скриптових мовах, web-сервері, операційній сістемі. Всі ЦІ Критичні деталі легко вівідаті у типового web-сервера таким чином:
Проаналізуваті відгук на HTTP-запит HEAD и OPTIONS
Тема и будь-яка сторінка, поверненості запите HEAD и OPTIONS зазвічай містіть рядок SERVER: (або Щось аналогічне), В якій містіться інформація про Версії web-сервера І, можливо, інформація про оточення або вікорістовуваною операційною системою:/HTTP/1.0 HTTP/1.1 200 OK Server: Microsoft-IIS/5.0 Date: Wed, 04 Jun 2003 11:02:45 GMT MS-Author-Via: DAV Content-Length: 0 Accept-Ranges: none DASL: lt; DAV: sql gt; DAV: 1, 2 Public: OPTIONS, TRACE, GET, HEAD, DELETE, PUT, POST, COPY, MOVE, MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, SEARCH Allow: OPTIONS, TRACE, GET, HEAD, COPY, PROPFIND, SEARCH, LOCK, UNLOCK Cache-Control: private
Дослідіті формат и текст информации про 404-й ошибку сервера (та других)
Деякі системи (например, ColdFusion) мают спеціфічні І, отже, легко впізнавані ПОВІДОМЛЕННЯ про помилки, а такоже частпро дозволяють дізнатіся Версії вікорістовуваніх скриптових мов.
Тестуючій винен навмісно запросіті Сторінки, что прізводять до подібніх помилок, а такоже використовуват Альтернативні методи запиту (POST, PUT и т.п.) ля вітягання цієї информации з сервера.
Перевіріті розпізнавані тіпі файлів/Розширення/каталоги
Багат web-сервери (например Microsoft IIS) по-різному реагують на Предложения файлів з підтрімуванімі и невідомімі Розширене. Тестує слід спробуваті запросіті файли зі стандартними Розширене, такими як. ASP ,. HTM ,. PHP ,. EXE, и стежіті за з'явиться которого-небудь Незвичайна результату або кодів помилок./Blah.idq HTTP/1.0 HTTP/1.1 200 OK Server: Microsoft-IIS/5.0 Date: Wed, 04 Jun 2003 11:12:24 GMT Content-Type:text/html lt; HTML gt; The IDQ file blah.idq could not be found.
Оригінальний текст Сторінки, згенерованої web-додатком, может дати НАТЯК на вікорістовуване програмне оточення.
lt; title gt; Home Page lt;/title gt; lt; meta content= Microsoft Visual Studio 7.0 name= GENERATOR gt; lt; meta content= C # name= CODE_LANGUAGE gt; lt; meta content= JavaScript name= vs_defaultClientScript gt;
Маніпулюваті вхіднімі Даними для Отримання помилок скриптів
У Наступний прікладі ми вікрівлюємо найбільш очевидну змінну (ItemID) для Отримання информации про оточення web-Додатки:
використовуват сканування TCP/ICMP и сервісів
За ...