owasp zap tutorial comprehensive review owasp zap tool
Цей посібник пояснює, що таке OWASP ZAP, як він працює, як встановити та налаштувати проксі ZAP. Також включає демонстрацію автентифікації ZAP та управління користувачами:
Навіщо використовувати ZAP для тестування пера?
Щоб розробити безпечний веб-додаток, потрібно знати, як вони будуть атаковані. Тут висувається вимога щодо безпеки веб-додатків або тестування на проникнення.
В цілях безпеки компанії використовують платні інструменти, але OWASP ZAP - це чудова альтернатива з відкритим кодом, яка полегшує тестування на проникнення.
Що ви дізнаєтесь:
- Що таке OWASP ZAP?
- Як працює ZAP?
- ZAP-аутентифікація, сеанси та управління користувачами
- Зразок звіту про ZAP Html
- Висновок
Що таке OWASP ZAP?
Тестування на проникнення допомагає знайти вразливі місця до того, як це зробить зловмисник. OSWAP ZAP - це безкоштовний інструмент з відкритим кодом, який використовується для проведення тестів на проникнення. Основною метою Zap є забезпечення легкого тестування на проникнення для виявлення вразливостей у веб-додатках.
Переваги ZAP:
- Zap пропонує крос-платформну систему, тобто вона працює в усіх ОС (Linux, Mac, Windows)
- Zap багаторазовий
- Може генерувати звіти
- Ідеально підходить для початківців
- Безкоштовний інструмент
Як працює ZAP?
ZAP створює проксі-сервер і змушує трафік веб-сайту проходити через сервер. Використання автоматичних сканерів у ZAP допомагає перехопити вразливі місця на веб-сайті.
Зверніться до цієї блок-схеми для кращого розуміння:
додаток, щоб шпигувати за телефоном Android
Термінології ZAP
Перш ніж налаштовувати налаштування ZAP, давайте розберемося з деякими термінологіями ZAP:
# 1) Сесія : Сесія просто означає перехід через веб-сайт, щоб визначити зону нападу. Для цього можна використовувати будь-який браузер, такий як Mozilla Firefox, змінивши налаштування проксі-сервера. Або ми можемо зберегти сесію zap як .session і може бути використані повторно.
# 2) Контекст: Це означає веб-додаток або набір URL-адрес разом. Контекст, створений у ZAP, атакуватиме вказаний і ігноруватиме решту, щоб уникнути занадто великої кількості даних.
# 3) Типи атак ZAP: Ви можете створити звіт про вразливість, використовуючи різні типи атак ZAP, натиснувши та відсканувавши URL-адресу.
Активне сканування: Ми можемо виконати активне сканування за допомогою Zap різними способами. Перший варіант - Швидкий старт, який присутній на вітальній сторінці інструменту ZAP. Будь ласка, зверніться до знімка екрана нижче:
Швидкий старт 1
Наведений вище скріншот показує найшвидший спосіб розпочати роботу з ZAP. Введіть URL-адресу на вкладці «Швидкий старт», натисніть кнопку «Атака», після чого розпочнеться прогрес.
Швидкий запуск запускає павука за вказаною URL-адресою, а потім запускає активний сканер. Павук сканує на всіх сторінках, починаючи з вказаної URL-адреси. Якщо бути точнішим, сторінка Швидкого старту нагадує «направляй і стріляй».
Швидкий старт 2
Тут після встановлення цільової URL-адреси починається атака. Ви можете бачити статус прогресу як павутиння URL-адреси для пошуку вмісту. Ми можемо зупинити атаку вручну, якщо це забирає занадто багато часу.
Ще один варіант для Активне сканування полягає в тому, що ми можемо отримати доступ до URL-адреси в браузері проксі-сервера ZAP, оскільки Zap автоматично визначає її. Клацнувши правою кнопкою миші на URL -> розпочнеться активне сканування. Після завершення сканування розпочнеться активне сканування.
Хід атаки відображатиметься на вкладці Активне сканування. а на вкладці Spider буде показано URL-адресу списку зі сценаріями атак. Після завершення активного сканування результати відображатимуться на вкладці Сповіщення.
Будь ласка, перевірте знімок екрана нижче Активне сканування 1 і Активне сканування 2 для чіткого розуміння.
Активне сканування 1
Активне сканування 2
# 4) Павук: Spider визначає URL-адресу на веб-сайті, перевіряє наявність гіперпосилань та додає її до списку.
# 5) Павук Аякс: У випадку, коли наш додаток інтенсивно використовує JavaScript, для вивчення програми скористайтеся павуком AJAX.Поясню Павук Аякс детально у моєму наступному підручнику.
# 6) Сповіщення : Вразливості веб-сайтів позначені як високі, середні та низькі попередження.
Встановлення ZAP
Тепер ми розберемося з установкою установки ZAP. Спочатку завантажте Zap встановити . Оскільки я використовую Windows 10, я відповідно завантажив 64-розрядну програму встановлення Windows.
Передумови для встановлення Zap: Потрібна Java 7. Якщо у вас не встановлено java у вашій системі, спочатку завантажте її. Тоді ми можемо запустити ZAP.
Налаштування браузера ZAP
Спочатку закрийте всі активні сеанси Firefox.
Запустіть інструмент Zap >> перейдіть до меню Інструменти >> виберіть параметри >> виберіть Місцевий проксі >> там ми можемо бачити адресу як localhost (127.0.0.1), а порт як 8080, ми можемо змінити інший порт, якщо він вже використовується, скажімо, я переходжу на 8099. Перевірте знімок екрана нижче:
Місцевий проксі в Zap 1
Тепер відкрийте Mozilla Firefox >> виберіть опції >> вкладка попереднього перегляду >> в цьому пункті Мережа >> Налаштування підключення >> виберіть параметр Ручна конфігурація проксі-сервера. Використовуйте той самий порт, що і в інструменті Zap. Я вручну змінив значення 8099 у ZAP і використовував те саме у браузері Firefox. Перегляньте знімок екрана конфігурації Firefox, налаштованої як проксі-браузер.
Налаштування проксі-сервера Firefox 1
Спробуйте підключити програму за допомогою браузера. Ось я спробував підключитися Facebook і там сказано, що ваше з’єднання не захищене. Тому вам потрібно додати виняток, а потім підтвердити виняток безпеки для переходу на сторінку Facebook. Будь ласка, зверніться до скріншотів нижче:
Доступ до веб-сторінки-проксі-браузера 1
Доступ до веб-сторінки-проксі-браузера 2
Доступ до веб-сторінки-проксі-браузера 3
Одночасно на вкладці сайтів Zap перевірте створений новий сеанс для сторінки Facebook. Після успішного підключення програми ви побачите більше рядків на вкладці історії ZAP.
Zap зазвичай надає додаткову функціональність, до якої можна отримати доступ за допомогою меню, що клацне правою кнопкою миші, наприклад,
Клацніть правою кнопкою миші >> HTML >> активне сканування, тоді zap виконає активне сканування та відобразить результати.
Якщо вам не вдається підключити програму за допомогою браузера, перевірте налаштування проксі ще раз. Вам потрібно буде перевірити налаштування браузера та проксі-сервера ZAP.
Створення звітів у ZAP
Після завершення активного сканування ми можемо створювати звіти. Для цього натисніть OWASP ZAP >> Звіт >> створити звіти HTML >> наданий шлях до файлу >> експортований звіт про сканування. Нам потрібно вивчити звіти для виявлення всіх можливих загроз та виправити їх.
ZAP-аутентифікація, сеанси та управління користувачами
Перейдемо до іншої функції Zap, яка займається аутентифікацією, управлінням сеансами та користувачами. Будь ласка, дайте мені знати будь-який запит, який вам спадає на думку, пов’язаний із цим як коментар.
Основні поняття
- Контекст : Він представляє веб-додаток або набір URL-адрес разом. Для даного контексту додаються нові вкладки для налаштування та налаштування процесу автентифікації та управління сеансом. Параметри доступні у діалоговому вікні властивостей сеансу. Тобто діалогове вікно властивостей сеансу -> Контекст -> Ви можете використовувати параметр за замовчуванням або додати нову назву контексту.
- Метод управління сеансом: Існує 2 типи методів управління сеансами. Здебільшого використовується керування сеансами на основі файлів cookie, пов’язане з контекстом.
- Метод автентифікації: ZAP використовує в основному 3 типи методу Auth:
- Метод автентифікації на основі форми
- Ручна автентифікація
- Аутентифікація HTTP
- Керування користувачами: Після налаштування схеми автентифікації для кожного контексту можна визначити набір користувачів. Ці користувачі використовуються для різних дій ( Наприклад, URL-адреса / контекст Spider як користувач Y, надсилайте всі запити як користувач X). Незабаром буде запропоновано більше дій, якими користуються користувачі.
Розширення “Примусовий користувач” реалізовано для заміни старого розширення автентифікації, яке виконувало повторну автентифікацію. На панелі інструментів тепер доступний режим «Примусовий користувач» (той самий значок, що і старе розширення автентифікації).
Після встановлення користувача як «Примусового користувача» для даного контексту або коли це ввімкнено, кожен запит, надісланий через ZAP, автоматично модифікується таким чином, щоб він надсилався цьому користувачеві. Цей режим також виконує повторну автентифікацію автоматично (особливо у поєднанні з автентифікацією на основі форми), якщо бракує автентифікації, виявляється «вихід з системи».
Давайте подивимося демонстрацію:
Крок 1:
Спочатку запустіть ZAP і отримайте доступ до URL-адреси в браузері проксі. Тут я взяв зразок URL-адреси як https://tmf-uat.iptquote.com/login.php . Клацніть на Додатково -> додати виняток -> підтвердити виняток безпеки, як на сторінках 6 і 7. Потім відображається цільова сторінка. Одночасно ZAP автоматично завантажує веб-сторінку в розділі Сайти як новий сеанс. Зверніться до зображення нижче.
Крок 2:
Включіть це в контекст. Це можна зробити, включивши його до контексту за замовчуванням, або додавши як новий контекст. Зверніться до зображення нижче.
масиви c ++ у функціях
Крок 3:
Тепер наступний метод автентифікації. Ви можете побачити автентифікацію в самому діалоговому вікні властивостей сеансу. Тут ми використовуємо метод Auth на основі форми.
Це має бути як authMethodParams як ' URL-адреса для входу = https: //tmf-uat.iptquote.com/login.php&loginRequestData=username=superadmin&password=primo868&proceed=login ”
У нашому прикладі нам потрібно встановити метод автентифікації як заснований на формі. Для цього виберіть цільову URL-адресу, поле даних про запит на вхід попередньо заповнюється, після цього змініть параметр як ім’я користувача та пароль -> натисніть ОК .
Крок 4:
Тепер встановіть індикатори, які повідомлять ZAP, коли він буде автентифікований.
Показники входу та виходу:
- Потрібно лише одне
- Ми можемо встановити шаблони регулярних виразів, що відповідають повідомленню відповіді, потрібно встановити індикатор входу або виходу.
- Визначте, коли відповідь аутентифікована чи ні.
- Приклад індикатора входу: Qhttp: // приклад / вихід E або вітальний користувач. *
- Приклад індикатора виходу з системи: login.jsp або щось подібне.
Тут, у нашому демонстраційному додатку, я отримав доступ до URL-адреси в проксі-браузері. Увійдіть до програми, використовуючи дійсний обліковий запис, Ім'я користувача як суперадмін і Пароль як primo868. Перейдіть по внутрішніх сторінках та натисніть на вихід
На скріншоті кроку 3 ви можете побачити, як Zap приймає дані запиту на вхід як дані, що використовуються для входу в програму TMF (Демо-версія програми).
Позначити вхідний шаблон регулярного виразу із відповіді ZAP як відповідь -> відповідь, що вийшла з системи -> позначити його як зареєстрований в індикаторі. Відноситься до скріншот нижче
Крок 5:
Ми можемо зберегти індикатор і перевірити, чи додано діалогове вікно властивостей сеансу разом із введеним індикатором чи ні. Зверніться до знімка екрана нижче:
Крок 6:
Нам потрібно додати користувачів, дійсних та недійсних користувачів. Застосовуйте напади павуків до обох та аналізуйте результати.
Дійсний користувач:
Недійсний користувач:
Крок 7:
За замовчуванням встановіть управління сеансом як метод на основі файлів cookie.
Крок 8:
Атака Spider URL застосовується до недійсних та дійсних користувачів та переглядає результати / створює звіти.
Недійсний вигляд атаки користувача-павука 1:
Тут атака URL-адреси павука застосовується до недійсного користувача. В інтерфейсі ZAP ми бачимо Get: login.php (error _message), що означає, що автентифікація не вдалася. Крім того, він не передає URL-адреси через внутрішні сторінки TMF.
Крок 9:
Щоб застосувати атаку URL-адреси павука для дійсного користувача, перейдіть до списку сайтів -> атака -> URL-адреса павука -> існуючий дійсний користувач -> тут це ввімкнено за замовчуванням -> розпочати сканування.
Аналіз результатів: оскільки це дійсний автентифікований користувач, він буде переходити по всіх внутрішніх сторінках і відображатиме статус автентифікації як успішний. Зверніться до знімка екрана.
Дійсний користувач
Зразок звіту про ZAP Html
Після завершення активного сканування ми можемо створити звіт HTML для нього. Для цього виберіть Звіт -> Створити звіт Html. Я додав зразок вмісту звітів HTML. Тут створюватимуться звіти про високі, середні та низькі сповіщення.
Сповіщення
Висновок
У цьому посібнику ми побачили, що таке ZAP, як працює ZAP, установка та налаштування проксі-сервера ZAP. Різні типи процесів активного сканування, демонстрація аутентифікації ZAP, управління сеансами та користувачами та основні термінології. У своєму наступному уроці я розповім про атаку павуків Ajax, використання пульсистів, примусові переглянуті сайти.
І якщо ви використовували атакуючий проксі-сервер Zed і маєте кілька цікавих підказок, поділіться ними в коментарях нижче.
Список літератури:
Рекомендована література
- Підручник з практичного огляду інструменту управління тестами PractiTest
- Огляд інструменту управління тестами TestLodge
- Підручник з TestComplete: Всебічне керівництво для тестування графічного інтерфейсу для початківців
- Посібник із практичного огляду інструментів відстеження помилок
- Підручник з Bugzilla: Посібник із інструментів управління дефектами
- Як перевірити ефективність веб-сайту за допомогою інструмента SmartMeter.io: Підручник з практичного огляду
- Підручник із інструменту тестування доступності WAVE
- Практичний огляд інструменту управління тестами qTest