beginners guide web application penetration testing
Випробування на проникнення aka Pen Test - це найбільш часто використовувана техніка тестування безпеки для веб-додатків.
Тестування на проникнення веб-додатків проводиться шляхом імітації несанкціонованих атак всередині або зовні, щоб отримати доступ до конфіденційних даних.
Проникнення в Інтернет допомагає кінцевому користувачеві з'ясувати можливість доступу хакера до даних з Інтернету, дізнатися про безпеку своїх поштових серверів, а також дізнатись, наскільки безпечні веб-сайт і сервер хостингу.
Що ж, давайте тепер розглянемо зміст цієї статті.
конвертувати відео з YouTube на mp4 онлайн безкоштовно
(зображення джерело )
У цьому підручнику з тестування на проникнення я намагався висвітлити:
- Потреба Pentest у тестуванні веб-додатків,
- Стандартна методологія, доступна для Pentest,
- Підхід до веб-програми Pentest,
- Які типи тестування ми можемо провести,
- Кроки, які слід вжити для проведення тесту на проникнення,
- Інструменти, які можна використовувати для тестування,
- Деякі з постачальників послуг тестування на проникнення та
- Деякі сертифікації для тестування на проникнення в Інтернет
Рекомендовані засоби сканування вразливості:
# 1) Чистий паркер
Netsparker - це проста у використанні та автоматизована платформа тестування безпеки веб-додатків, яку ви можете використовувати для виявлення реальних та експлуатованих вразливостей на ваших веб-сайтах.
# два) Кіуван
Знайдіть і виправте вразливості у своєму коді на кожному етапі SDLC.
Kiuwan відповідає найсуворішим стандартам безпеки, включаючи OWASP, CWE, SANS 25, HIPPA та інші. Інтегруйте Kiuwan у свою IDE для миттєвого зворотного зв’язку під час розробки. Kiuwan підтримує всі основні мови програмування та інтегрується з провідними інструментами DevOps.
=> Скануйте свій код безкоштовноЩо ви дізнаєтесь:
- Чому необхідне тестування на проникнення?
- Методологія тестування на проникнення в Інтернет
- Види тестування на проникнення в Інтернет
- Підхід до тестування веб-пера:
- Інструменти для тестування на проникнення
- Найвищі компанії для тестування на проникнення
- Деякі сертифікати випробування на проникнення:
- Висновок
- Рекомендована література
Чому необхідне тестування на проникнення?
Коли ми говоримо про безпеку, найпоширенішим словом, яке ми чуємо, є Вразливість .
Коли я спочатку почав працювати тестером безпеки, я дуже часто плутався з цим словом 'Вразливість', і я впевнений, що багато хто з вас, мої читачі, потраплять в один човен.
На користь усіх своїх читачів я спочатку з’ясую різницю між вразливістю та тестуванням пера.
Отже, що є Вразливість ? Уразливість - це термінологія, яка використовується для виявлення вад системи, які можуть піддавати систему загрозам безпеці.
Сканування вразливості чи тестування пера?
Сканування вразливості дозволяє користувачеві виявити відомі слабкі місця в програмі та визначає методи виправлення та поліпшення загальної безпеки програми. Це в основному з’ясовує, чи встановлені виправлення безпеки, чи правильно налаштовані системи для ускладнення атак.
Тести ручки в основному імітують системи реального часу і допомагають користувачеві з'ясувати, чи можуть доступ до системи мати несанкціоновані користувачі, якщо так, то яку шкоду можна заподіяти і яким даним тощо.
Отже, сканування вразливості - це детективний метод контролю, який пропонує шляхи вдосконалення програми безпеки та запобігання появі відомих слабких місць, тоді як тест пера - це метод попереджувального контролю, який дає загальний огляд існуючого рівня безпеки системи.
Хоча обидва методи мають свою важливість, але це буде залежати від того, що насправді очікується в рамках тестування.
Як тестувальники, обов’язково потрібно чітко визначити мету тестування, перш ніж переходити до тестування. Якщо ви чітко визначитеся з ціллю, ви можете дуже добре визначити, чи потрібно вам проводити сканування вразливості або тестування пера.
Важливість та необхідність тестування ручки веб-додатків:
- Пентест допомагає у виявленні невідомих вразливостей.
- Допомагає перевірити ефективність загальної політики безпеки.
- Допомога у тестуванні таких компонентів, як загальнодоступні брандмауери, маршрутизатори та DNS.
- Дозволяє користувачеві з’ясувати найбільш вразливий шлях, через який може бути здійснена атака
- Допомагає знайти лазівки, які можуть призвести до крадіжки конфіденційних даних.
Якщо поглянути на поточний ринковий попит, спостерігається різке зростання використання мобільних пристроїв, що стає основним потенціалом для атак. Доступ до веб-сайтів через мобільні телефони схильний до частіших атак, а отже і до компрометації даних.
Таким чином, тестування на проникнення стає дуже важливим у забезпеченні побудови безпечної системи, якою користувачі можуть користуватися, не турбуючись про злом або втрату даних.
Методологія тестування на проникнення в Інтернет
Методологія - це не що інше, як набір галузевих вказівок щодо того, як слід проводити тестування. Існує кілька добре відомих методологій та стандартів, які можна використовувати для тестування, але оскільки кожна веб-програма вимагає проведення різних типів тестування, тестери можуть створювати власні методології, посилаючись на стандарти, доступні на ринку.
Деякі методології та стандарти перевірки безпеки -
- OWASP (Відкрити проект безпеки веб-додатків)
- OSSTMM (Посібник із методології тестування безпеки з відкритим кодом)
- PTF (Рамка тестування на проникнення)
- ISSAF (Система оцінки безпеки інформаційних систем)
- PCI DSS (Стандарт безпеки даних платіжних карток)
Сценарії випробувань:
як називаються помилки в комп'ютерному програмному забезпеченні
Нижче наведено деякі тестові сценарії, які можна перевірити як частину Тестування проникнення веб-додатків (WAPT):
- Міжсайтові сценарії
- Ін'єкція SQL
- Порушена автентифікація та управління сеансами
- Недоліки завантаження файлів
- Кешування атак на сервери
- Неправильні конфігурації безпеки
- Підробка міжсайтових запитів
- Злом пароля
Незважаючи на те, що я вже згадав цей перелік, тестери не повинні сліпо створювати свою методологію тестування на основі вищезазначених загальноприйнятих стандартів.
Осьприкладщоб довести, чому я так кажу.
Вважайте, що вас просять перевірити проникнення веб-сайту електронної комерції, а тепер подумайте, чи можна виявити всі вразливості веб-сайту електронної комерції за допомогою звичайних методів OWASP, таких як XSS, введення SQL тощо.
Відповідь - Ні, оскільки електронна комерція працює на зовсім іншій платформі та технології порівняно з іншими веб-сайтами. Для того, щоб зробити тестування пера на веб-сайті електронної комерції ефективним, тестувальники повинні розробити методологію, що включає такі недоліки, як управління замовленнями, управління купонами та винагородами, інтеграція платіжних шлюзів та інтеграція системи управління вмістом.
Отже, перед тим, як прийняти рішення про методологію, будьте дуже впевнені в тому, які типи веб-сайтів передбачається протестувати і який метод допоможе у пошуку максимальних вразливостей.
Види тестування на проникнення в Інтернет
Веб-програми можна перевірити на проникнення двома способами. Тести можуть бути розроблені для імітації внутрішньої або зовнішньої атаки.
# 1) Тестування на внутрішнє проникнення -
Як випливає з назви, внутрішнє тестування пера проводиться в організації через локальну мережу, отже, воно включає тестування веб-додатків, розміщених в інтрамережі.
Це допомагає з'ясувати, чи можуть бути вразливі місця, що існують у корпоративному брандмауері.
Ми завжди вважаємо, що атаки можуть відбуватися лише зовні, і багато разів внутрішній Пентест не помічається або йому не надається велике значення.
По суті, це включає зловмисні атаки працівників незадоволених співробітників або підрядників, які звільнилися б, але знаючи про внутрішню політику безпеки та паролі, атаки соціальної інженерії, моделювання фішингових атак та атаки з використанням привілеїв користувача або неправильне використання розблокованого терміналу.
Тестування в основному проводиться шляхом доступу до середовища без належних облікових даних та визначення того, чи є
# два) Тестування зовнішнього проникнення -
Ці атаки проводяться зовні поза організацією та включають тестування веб-додатків, розміщених в Інтернеті.
Тестери поводяться як хакери, які не дуже обізнані з внутрішньою системою.
Для моделювання таких атак тестувальникам надається IP цільової системи, а інша інформація не надається. Вони повинні шукати та сканувати загальнодоступні веб-сторінки та знаходити нашу інформацію про цільові хости, а потім компрометувати знайдені хости.
В основному, це включає тестування серверів, брандмауерів та IDS.
Підхід до тестування веб-пера:
Він може проводитися в 3 етапи:
# 1) Етап планування (перед тестуванням)
Перед початком тестування бажано спланувати, які типи тестування будуть виконуватися, як проводитиметься тестування, визначити, чи потрібен якийсь додатковий доступ до інструментів тощо.
- Визначення сфери - Це те саме, що і наше функціональне тестування, де ми визначаємо обсяг тестування перед початком наших тестових зусиль.
- Доступність документації для тестувальників - Переконайтеся, що тестери мають усі необхідні документи, такі як документи з детальною інформацією про веб-архітектуру, точки інтеграції, інтеграцію веб-служб тощо. Тестер повинен знати основи протоколу HTTP / HTTPS та знати про архітектуру веб-додатків, способи перехоплення трафіку.
- Визначення критеріїв успіху - На відміну від наших функціональних тестів, де ми можемо отримати очікувані результати з вимог користувача / функціональних вимог, тестування пера працює на іншій моделі. Критерії успіху або критерії проходження тесту повинні бути визначені та затверджені.
- Перегляд результатів тесту з попереднього тестування - Якщо раніше було проведено попереднє тестування, добре переглянути результати тестування, щоб зрозуміти, які вразливості існували в минулому та які засоби усунення були прийняті для усунення. Це завжди дає краще уявлення про тестерів.
- Розуміння довкілля - Тестери повинні отримати знання про навколишнє середовище перед початком тестування. Цей крок повинен забезпечити розуміння ними брандмауерів або інших протоколів безпеки, які потрібно буде відключити для проведення тестування. Браузер, що перевіряється, повинен бути перетворений на платформу для атаки, як правило, за допомогою зміни проксі.
# 2) Фази атак / виконання (під час тестування):
Тестування на проникнення через Інтернет можна проводити з будь-якого місця, враховуючи той факт, що Інтернет-провайдер не повинен обмежувати порти та послуги.
- Переконайтеся, що запустили тест з різними ролями користувачів - Тестери повинні забезпечити проведення тестів із користувачами, які мають різні ролі, оскільки система може поводитися по-різному щодо користувачів, що мають різні привілеї.
- Поінформованість про те, як поводитись після експлуатації - Тестери повинні дотримуватися Критеріїв успіху, визначених як частина Фази 1, щоб повідомляти про будь-яку експлуатацію, також вони повинні дотримуватися визначеного процесу повідомлення про вразливості, виявлені під час тестування. Цей крок в основному включає тестувальника, щоб з’ясувати, що потрібно зробити після того, як вони виявлять, що система була скомпрометована.
- Створення звітів про випробування - Будь-яке тестування, проведене без належної звітності, не надто допомагає організації, те саме відбувається з тестуванням на проникнення веб-додатків. Щоб забезпечити належний обмін результатами тестування з усіма зацікавленими сторонами, тестувальники повинні створити належні звіти з деталями про виявлені вразливості, методологію, що використовується для тестування, серйозність та місце виявленої проблеми.
# 3) Фаза виконання після виконання (після тестування):
Після завершення тестування та надсилання звітів про тестування всім зацікавленим командам усі наступні списки повинні бути опрацьовані:
- Запропонувати виправлення - Тестування пера не повинно закінчуватися виявленням вразливих місць. Зацікавлена група, яка включає члена контролю якості, повинна переглянути результати, про які повідомили тестери, а потім обговорити питання щодо усунення.
- Перевірити вразливості - Після того, як виправлення буде прийнято та впроваджено, тестувальники повинні повторно протестувати, щоб переконатися, що виправлені уразливості не з’являються як частина їх повторного тестування.
- Прибирати - У рамках Пентесту тестувальники вносять зміни до налаштувань проксі, тому слід провести очищення та повернути всі зміни назад.
Інструменти для тестування на проникнення
Тепер, оскільки ви вже прочитали повну статтю, я вважаю, що тепер ви набагато краще уявляєте, що і як ми можемо перевірити на проникнення веб-додаток.
Тож скажіть мені, чи можемо ми вручну провести тестування на проникнення або це завжди відбувається за допомогою автоматизації за допомогою інструменту. Без сумніву, я думаю, що більшість із вас говорять про автоматизацію. :)
Це правда, оскільки автоматизація пришвидшує роботу, дозволяє уникнути ручних помилок людини, чудового покриття та ряду інших переваг, але, що стосується тесту Pen, це вимагає від нас проведення ручного тестування.
Тестування вручну допомагає знайти вразливості, пов'язані з бізнес-логікою, зменшуючи помилкові спрацьовування.
Інструменти схильні давати багато помилкових спрацьовувань, а отже, необхідне ручне втручання, щоб визначити, чи є вони справжніми вразливими місцями.
Також читайте - Як перевірити безпеку веб-додатків за допомогою інструменту сканування веб-вразливості Acunetix (WVS)
Інструменти створені для автоматизації наших спроб тестування. Нижче наведено перелік деяких інструментів, які можна використовувати для Pentest:
- Безкоштовний інструмент для тестування пера
- Веракода
- Вега
- Люкс відрижки
- NetSparker
- Арахні
- Acunetix
- ZAP
Для отримання додаткових інструментів ви також можете звернутися - 37 потужних інструментів для тестування пера для кожного тестера на проникнення
Найвищі компанії для тестування на проникнення
Постачальники послуг - це компанії, що надають послуги, що відповідають випробувальним потребам організацій. Зазвичай вони перевершують та володіють знаннями в різних областях тестування, і можуть проводити тестування у своєму розміщеному тестовому середовищі.
Нижче згадані деякі провідні компанії, які надають послуги з тестування на проникнення:
- PSC (Відповідність безпеці платежів)
- Netragard
- Захищена держава
- ВугілляВогонь
- HIGHBIT Безпека
- Неттітуд
- 360
- NetSPi
- ControlScan
- Шкод Мінотті
- 2 | Розділ
- Оцінка безпеки
- Системи аудиту безпеки
- Хаклаби
- CQR
Деякі сертифікати випробування на проникнення:
Якщо ви зацікавлені отримати сертифікацію щодо сертифікації проникнення веб-додатків, ви можете вибрати такі сертифікації:
- OSWE (Напад веб-експерт із питань безпеки)
- GWAPT (Тестер проникнення веб-додатків GIAC)
- CWAPT (Сертифікований тестер проникнення веб-додатків)
- eWPT (тестер проникнення веб-додатків elearnSecurity)
Висновок
У цьому посібнику ми представили огляд того, як проводиться тестування на проникнення для веб-додатків.
що таке тестування функціональності на прикладі
Маючи цю інформацію, тестер проникнення може розпочати тестування на вразливість.
В ідеалі тестування на проникнення може допомогти нам створити безпечне програмне забезпечення. Це дорогий метод, тому періодичність може зберігатися як один раз на рік.
Щоб дізнатися більше про тестування на проникнення, прочитайте нижче відповідні статті:
- Підхід до тестування безпеки веб-додатків
- Тестування на проникнення - Повне керівництво зі зразками тестових випадків
- Як перевірити безпеку додатків - методи тестування безпеки веб- і настільних програм
Будь ласка, поділіться своїми думками чи досвідом щодо Pentest нижче.
Рекомендована література
- Посібник із тестування безпеки веб-додатків
- Тестування мережевої безпеки та найкращі інструменти мережевої безпеки
- Найкращі засоби тестування програмного забезпечення 2021 р. (Засоби автоматизації тестування якості)
- Альфа-тестування та бета-тестування (повний посібник)
- Тестування безпеки (повний посібник)
- Повний посібник з тестування на проникнення зі зразками тестових випадків
- Інструменти тестування на проникнення мобільних додатків та постачальники послуг
- Різниця між робочим столом, тестуванням клієнтського сервера та веб-тестуванням