Testing for XSS and other vulnerabilities with OWASP ZAP
OWASP ZAP - це в першу чергу інструмент, який досить простий у використанні для тестування на проникнення у ваш додаток, а також для пошуку вразливостей у web-додатках. Програма призначена як для користувачів, які мають досвід роботи в сфері інформаційної безпеки, таких як розробники та мануальні QA.
TOOLS FOR FIND VULNERABILITY
Що таке OWASP ZAP?
Почнемо з того, що таке OWASP ZAP - це в першу чергу інструмент, який досить простий у використанні для тестування на проникнення у ваш додаток, а також для пошуку вразливостей у web-додатках. Програма призначена як для користувачів, які мають досвід роботи в сфері інформаційної безпеки, таких як розробники та мануальні QA.
Режими OWASP ZAP
1) Безпечний режим - з цим режимом не можна зробити вам що-небудь потенційно небезпечне для вашої програми.
2) Захищений режим - за допомогою цього режиму користувач (наш бот) може виконувати тільки шкідливі дії за URL-адресами, зазначеними в області браузера.
3) Стандартний режим — У цьому режимі наш користувач (Бот) може робити все, що має значення для нашої програми.
4) Режим ATTACK - при знаходженні нових вузлів в області дії шпигуна, активно скануються, як тільки вони виявляються.
- що це за вразливість і на що вона впливає
- її критичність
- де її можна відтворити
- література як її можна відремонтувати
Потім, щоб наш додаток на сканувало все, що в нього потрапить (Зайві ресурси), що не стосується нашого проекту, необхідно задати "контекст" тільки для однієї папки, яку ми хочемо перевірити. Для цього вибираємо потрібну папку та вмикаємо її в контекст.
Після того як ми задали папці контекст, ми повинні знайти в ній запит, який виконувався на авторизацію. А потім створити користувача для цього способу.
У попапі, що відкрилося, задаємо цьому користувачеві ім'я (не має значення яке, це робиться для вашого розуміння, що це за користувач), пароль і логін (email), який підходить для авторизації в нашу систему.
Тепер нам треба показати OWASP ZAP якийсь локатор (Xpath) на сторінці авторизованого користувача, щоб вона розуміла, що авторизація пройшла успішно. Для цього нам треба зайти на запит, який ми отримали від сервера, з html розміткою, яку отримує авторизований користувач. Потім знаходимо якийсь локатор, до якого прив'яжемо наш сканер. Цей локатор OWASP буде шукати після виконання авторизації і розуміти він чи успішно пройшов авторизацію на сайті.
Цей локатор вставляємо до розділу аутентифікації, в якому ми задавали параметри входу. В інпутації Regex pattern indentifield in Logged
Як тільки ми виконали все, що написано вище, можемо починати атаку і перевірку на те, що здатна наша програма. Для цього клацаємо по нашій папці, якій задали контекст і тиснемо скан або атака.
Після цього в списку знаходимо нашого користувача, під яким зайде сканер
І воуля! Пішло сканування вашого проекту на всілякі уразливості. Але пам'ятайте, що жодна з програм не може гарантувати, що будуть знайдені всі вразливості.
Оповіщення
Після того, як запустіть сканер, всі знайдені помилки OWASP ZAP будуть відсортовані під різні серйозності вразливостей та перебувають у вкладці “Оповіщення”. Під червоний прапорець потраплять найсерйозніші, такі як XSS, SQL injaction. Під помаранчевий менш серйозні типу CSRF і тд. Та й інші малозначущі, які мало хто звертає увагу, хоча варто було б.
Щоб подивитись більш детально знайдені вразливості, клікнувши кілька по одній з вразливостей.
При цьому відкриється попап, в якому буде розписано:
Авторизація
Якщо у вашому проекті є авторизація, то ті посилання, які доступні для авторизованого користувача, не будуть доступні для OWASP ZAP без налаштованого користувача, під яким зможе зайти наша програма для сканування посилань всередині.
Для того, щоб швидко налаштувати цього користувача, клацаємо по іконці браузера. При цьому відкриється сам браузер, в якому введені налаштування проксі для прийому динних програм OWASP.
Виконайте авторизацію на веб-сайті через цей браузер. Всі дані, які ви ввели будуть перехоплені нашим додатком OWASP ZAP.
Після виконаних операцій створюємо користувача з милом і паролем, щоб він міг авторезуватись, при скануванні нашого проекту. Для цього заходимо до розділу користувачів. І в цьому розділі додаємо нашого користувача, який зможе авторезуватись.