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 помага за прихващане на уязвимостите на уебсайта.
Вижте тази диаграма за по-добро разбиране:
как да актуализирам Windows 10 BIOS -
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) Ajax Spider: В случай, че приложението ни използва интензивно JavaScript, използвайте AJAX spider за проучване на приложението.Ще обясня Аякс паяк подробно в следващия ми урок.
# 6) Сигнали : Уязвимостите на уебсайтовете са маркирани като високи, средни и ниски сигнали.
Инсталиране на ZAP
Сега ще разберем настройката за инсталиране на ZAP. Първо изтеглете Zap инсталиране . Тъй като използвам Windows 10, изтеглих съответно 64-битов инсталатор на Windows.
Предварителни условия за инсталиране на Zap: Java 7 се изисква. Ако нямате инсталирана java във вашата система, вземете я първо. Тогава можем да стартираме ZAP.
Настройте ZAP браузър
Първо затворете всички активни сесии на Firefox.
Стартирайте инструмента Zap >> отидете в меню Инструменти >> изберете опции >> изберете Local Proxy >> там можем да видим адреса като 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 вида методи за управление на сесии. Предимно се използва управление на сесии, базирано на бисквитки, свързано с контекста.
- Метод за удостоверяване: ZAP има предимно 3 вида Auth метод, използван от ZAP:
- Метод за удостоверяване на базата на формуляр
- Ръчно удостоверяване
- HTTP удостоверяване
- Управление на потребители: След като схемата за удостоверяване е конфигурирана, набор от потребители може да бъде дефиниран за всеки контекст. Тези потребители се използват за различни действия ( Например, Spider URL / контекст като потребител Y, изпращайте всички заявки като потребител X). Скоро ще бъдат предоставени още действия, които да използват потребителите.
Внедрено е разширение „Принудителен потребител“, за да замени старото разширение за удостоверяване, което извършва повторно удостоверяване. Режимът „Принудителен потребител“ вече е достъпен чрез лентата с инструменти (същата икона като старото разширение за удостоверяване).
След задаване на потребител като „Принудителен потребител“ за даден контекст или когато е активиран, всяка заявка, изпратена чрез ZAP, се модифицира автоматично, така че да бъде изпратена за този потребител. Този режим също извършва повторно удостоверяване автоматично (особено във връзка с удостоверяване чрез формуляр), ако липсва удостоверяване, се открива „излязъл“.
Нека видим демонстрация:
Етап 1:
Първо стартирайте ZAP и отворете URL адреса в прокси браузъра. Тук взех примерния URL адрес като https://tmf-uat.iptquote.com/login.php . Щракнете върху Разширени -> добавяне на изключение -> потвърдете изключение за защита, както е на стр. 6 и 7. След това се показва целевата страница. В същото време ZAP автоматично зарежда уеб страницата под Сайтове като нова сесия. Вижте изображението по-долу.
Стъпка 2:
Включете го в контекст. Това може да стане или чрез включването му в контекст по подразбиране, или добавянето му като нов контекст. Вижте изображението по-долу.
Стъпка 3:
Следва методът за удостоверяване. Можете да видите удостоверяване в самия диалогов прозорец за свойства на сесията. Тук използваме метода на Auth, базиран на формуляр.
Би трябвало да е като authMethodParams като ' URL адрес за вход = https: //tmf-uat.iptquote.com/login.php&loginRequestData=username=superadmin&password=primo868&proceed=login ”
В нашия пример трябва да зададем метода за удостоверяване като базиран на формуляр. За това изберете целевия URL адрес, полето за данни за заявка за влизане се попълва предварително, след това променете параметъра като потребителско име и парола -> щракнете добре .
Стъпка 4:
Сега задайте индикатори, които да показват на ZAP кога е удостоверено.
Индикатори за влезли и излезли:
- Необходим е само един
- Можем да зададем шаблони на Regex, съответстващи на съобщението за отговор, трябва да зададем или индикатор за влизане или излизане.
- Идентифицирайте кога отговорът е удостоверен или кога не.
- Пример за индикатор за влезли в системата: Qhttp: // пример / изход E или Добре дошли потребител. *
- Пример за индикатора за излизане: login.jsp или нещо подобно.
Тук, в нашето демонстрационно приложение, имам достъп до URL адреса в прокси браузър. Влезли сте в приложението, като използвате валидни идентификационни данни, Потребителско име като superadmin & Парола като primo868. Придвижете се през вътрешните страници и кликнете върху излизане
Можете да видите на екрана на стъпка 3, Zap приема данните за заявка за влизане като тези, използвани за влизане в приложението TMF (Демо вход за приложение).
Сигнализирайте влезлият модел на Regex от Response of ZAP като Response -> logged out response -> flag it as logged in the indicator. Препоръчай на екранната снимка по-долу
Стъпка 5:
Можем да запазим индикатора и да проверим дали диалоговият прозорец със свойствата се добавя с влезлия индикатор или не. Вижте екранната снимка по-долу:
Стъпка 6:
Трябва да добавим потребители, валидни и невалидни потребители. Прилагайте атаки на паяци и към двете и анализирайте резултатите.
angularjs интервю въпроси и отговори за опитен pdf
Валиден потребител:
Невалиден потребител:
Стъпка 7:
По подразбиране задайте управлението на сесията като метод, базиран на бисквитки.
Стъпка 8:
Spider URL атака се прилага към невалидни и валидни потребители и преглежда резултатите / генерира отчети.
Невалиден изглед 1 за атака на паяк на потребител:
Тук атака на URL адрес на паяк се прилага към невалиден потребител. В интерфейса на ZAP можем да видим Get: login.php (грешка _съобщение), което означава, че удостоверяването е неуспешно. Освен това не предава URL адресите през вътрешни TMF страници.
Стъпка 9:
За да приложите атака на URL на паяк за валиден потребител, отидете в списъка с сайтове -> атака -> URL адрес на паяк -> съществуващ валиден потребител -> тук той е активиран по подразбиране -> стартиране на сканирането.
Анализирайте резултатите: Тъй като е валиден удостоверен потребител, той ще се придвижва из всички вътрешни страници и ще показва състоянието на удостоверяване като успешно. Вижте по-долу екранна снимка.
Валиден потребител
Пример за отчет на ZAP Html
След като завърши активно сканиране, можем да генерираме HTML отчет за същото. За това изберете Отчет -> Генериране на Html отчет. Приложих примерно съдържание на HTML отчети. Тук ще се генерират отчети за високи, средни и ниски сигнали.
Сигнали
Заключение
В този урок видяхме какво представлява ZAP, как работи ZAP, инсталиране и настройка на ZAP прокси. Различни видове процеси на активно сканиране, демонстрация на ZAP удостоверяване, управление на сесии и потребители и основни терминологии. В следващия ми урок ще ви обясня за атаката на паяк Ajax, използването на разбъркване, принудително сърфиране в сайтове.
И ако сте използвали прокси прокси Zed и имате някои интересни съвети за споделяне, споделете в коментарите по-долу.
Препратки:
Препоръчително четене
- Ръководство за практически преглед на инструмента за управление на тестове PractiTest
- Преглед на инструмента за управление на тестове TestLodge
- Урок на TestComplete: Изчерпателно ръководство за инструментите за тестване на GUI за начинаещи
- Наръчник за практически преглед на инструменти за проследяване на грешки при натрупване
- Инструкция за Bugzilla: Ръководство на инструмента за управление на дефекти
- Как да тествате ефективността на уебсайта с помощта на инструмента SmartMeter.io: Ръководство за практически преглед
- Урок за инструмент за тестване на достъпност на WAVE
- Ръчен преглед на инструмента за управление на тестове qTest