Проведення пентесту веб-застосунку

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.
Розробка та обслуговування будь-яких видів сайтів:
Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Проведення пентесту веб-застосунку
Складна
від 1 тижня до 3 місяців
Часті питання
Наші компетенції:
Етапи розробки
Останні роботи
  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Проведення пентесту веб-додатку

Пентест (penetration testing) - це контрольована симуляція реальної атаки на веб-додаток. На відміну від аудиту безпеки, пентест фокусується на активній експлуатації уразливостей та ланцюгах атак, а не лише на виявленні окремих проблем.

Види пентесту за рівнем знань

Black Box — тестувальник не має інформації про систему. Максимально реалістична імітація зовнішнього атакуючого. Займає більше часу на розвідку.

Grey Box — часткова інформація (облікові записи звичайного користувача, загальна архітектура). Найпоширеніший варіант для веб-додатків.

White Box — повний доступ до коду, архітектури, облікових даних. Дозволяє знайти максимум уразливостей за мінімальний час.

Методології

  • OWASP Testing Guide — де-факто стандарт для веб-додатків
  • PTES — методологія всього процесу
  • WSTG — 150+ конкретних тест-кейсів

Фаза 1: Pre-engagement

Документи перед початком:

  • Statement of Work (SoW) — область тестування, виключення
  • Rules of Engagement — дозволені техніки, часові рамки
  • Permission Letter — письмове дозвіл на тестування
  • Emergency Contacts — кого звонити при виявленні критичної уразливості

Фаза 2: Розвідка (OSINT)

subfinder -d example.com -o subdomains.txt
assetfinder --subs-only example.com >> subdomains.txt
amass enum -passive -d example.com >> subdomains.txt

dnsx -l subdomains.txt -a -aaaa -cname -mx -resp

site:example.com filetype:pdf
site:example.com inurl:admin

curl "https://crt.sh/?q=%.example.com&output=json" | jq '.[].name_value'

waybackurls example.com | sort -u

Фаза 3: Сканування та аналіз

nmap -sV -sC -p- -T4 --open target.example.com \
     -oA scans/nmap_full

gobuster dir -u https://target.example.com \
    -w /usr/share/wordlists/seclists/Discovery/Web-Content/big.txt \
    -x php,html,js,json,txt -o gobuster.txt

wapiti -u https://target.example.com --modules all -o wapiti_report.html

gau target.example.com | grep "\.js$" | sort -u > js_files.txt
cat js_files.txt | xargs -I {} linkfinder -i {} -o cli

Фаза 4: Експлуатація

Приклад ланцюга атаки:

1. OSINT: знайдена витоку credentials у GitHub-репозиторії розробника
2. Панель адміністратора: /admin доступна без 2FA
3. Вхід із знайденими credentials → успішний вхід
4. Admin panel: функція "Export users" → SQL-інʼєкція у параметрі filter
5. sqlmap --os-shell → Remote Code Execution
6. Витягнення .env файлу → ключі AWS S3
7. aws s3 ls → доступ до бэкапів бази даних

IDOR тестування:

session_a = "cookie_user_a"
session_b = "cookie_user_b"

objects_b = [101, 102, 103, 204, 305]

for obj_id in objects_b:
    r = requests.get(
        f"https://target.com/api/documents/{obj_id}",
        cookies={"session": session_a}
    )
    if r.status_code == 200:
        print(f"IDOR confirmed: document {obj_id} accessible")

Race Conditions:

import threading, requests

def apply_promo(session_token):
    r = requests.post("https://target.com/api/promo/apply",
        json={"code": "PROMO50"},
        headers={"Authorization": f"Bearer {session_token}"}
    )

threads = [threading.Thread(target=apply_promo, args=(token,)) for _ in range(10)]
[t.start() for t in threads]
[t.join() for t in threads]

Фаза 5: Post-exploitation

Документувати максимальний вплив:

  • Які дані доступні (PII, фінансові, медичні)
  • Можливість горизонтального переміщення
  • Можливість сохранення доступу
  • Вплив на бізнес (нормативний, фінансовий, репутаційний)

Фаза 6: Звітування

Структура звіту:

1. Executive Summary
   - Загальна оцінка ризику
   - Топ-3 критичні знахідки
   - Рекомендації для керівництва

2. Технічна частина
   - Кожна уразливість: опис → PoC → вплив → рекомендація
   - Скриншоти та HTTP-трафік як доказ
   - CVSS score для кожної знахідки

3. Методологія
   - Використані інструменти
   - Хронологія тестування
   - Що НЕ тестувалося і чому

4. Дорожна карта виправлень
   - P1 (Critical): виправити за 24–72 години
   - P2 (High): виправити за 1–2 тижні
   - P3 (Medium/Low): наступний реліз

Retesting

Після виправлення уразливостей проводиться повторне тестування специфічних знахідок.

Тривалість

Додаток Black Box White Box
Простий сайт 3–5 днів 2–3 дні
SaaS / маркетплейс 10–14 днів 7–10 днів
Банківський / фінансовий 21–30 днів 14–21 день
Повторне тестування 1–3 дні 1–2 дні