Настройка DAST (Dynamic Application Security Testing) для сайта

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Настройка DAST (Dynamic Application Security Testing) для сайта
Средняя
~3-5 рабочих дней
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • 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

DAST: динамическое тестирование безопасности приложения

DAST (Dynamic Application Security Testing) тестирует работающее приложение — атакует как внешний злоумышленник. Находит уязвимости, которые SAST не видит: неправильная конфигурация сервера, runtime-уязвимости, проблемы с аутентификацией.

OWASP ZAP

# Baseline scan: быстрая проверка (5-10 минут)
docker run --rm \
  -v $(pwd)/reports:/zap/wrk:rw \
  ghcr.io/zaproxy/zaproxy:stable \
  zap-baseline.py \
  -t https://staging.mysite.com \
  -r zap-baseline-report.html \
  -J zap-baseline-report.json \
  -l WARN  # Только WARNING и выше

# Full scan: активное сканирование (30-60 минут)
docker run --rm \
  -v $(pwd)/reports:/zap/wrk:rw \
  ghcr.io/zaproxy/zaproxy:stable \
  zap-full-scan.py \
  -t https://staging.mysite.com \
  -r zap-full-report.html \
  -J zap-full-report.json

# API scan: тестирование по OpenAPI спецификации
docker run --rm \
  -v $(pwd)/reports:/zap/wrk:rw \
  ghcr.io/zaproxy/zaproxy:stable \
  zap-api-scan.py \
  -t https://api.staging.mysite.com/openapi.json \
  -f openapi \
  -r zap-api-report.html

GitHub Actions: ZAP в CI/CD

# .github/workflows/dast.yml
name: DAST

on:
  push:
    branches: [main]
  schedule:
    - cron: '0 2 * * 1'  # Еженедельно в 2:00

jobs:
  zap-scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Start application
        run: |
          docker compose -f docker-compose.test.yml up -d
          sleep 30  # Ждём старта

      - name: Run ZAP Baseline Scan
        uses: zaproxy/[email protected]
        with:
          target: http://localhost:3000
          rules_file_name: .zap/rules.tsv
          cmd_options: '-a'  # Активное сканирование

      - name: Upload ZAP report
        uses: actions/upload-artifact@v4
        if: always()
        with:
          name: zap-report
          path: report_html.html

      - name: Stop application
        if: always()
        run: docker compose -f docker-compose.test.yml down
# .zap/rules.tsv: настройка правил (WARN/IGNORE/FAIL)
# rule_id  action  reason
10017      WARN    # X-Frame-Options header — предупреждение
10038      WARN    # Content Security Policy — предупреждение
40012      FAIL    # Cross Site Scripting — критично
40018      FAIL    # SQL Injection — критично
90011      IGNORE  # Charset mismatch — игнорируем

Nuclei: сканирование по шаблонам CVE

# Установка
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

# Обновление шаблонов
nuclei -update-templates

# Сканирование по критическим уязвимостям
nuclei -u https://staging.mysite.com \
  -severity critical,high \
  -tags cve,owasp \
  -o nuclei-results.txt \
  -json-export nuclei-results.json

# Сканирование по категории
nuclei -u https://staging.mysite.com \
  -tags sqli,xss,ssrf,rce \
  -rate-limit 50 \
  -timeout 10

Burp Suite: ручное тестирование

# Burp Suite API: запуск scan через REST API
import requests

BURP_API = "http://localhost:1337/v0.1"

# Создаём новый scan
response = requests.post(f"{BURP_API}/scan", json={
    "urls": ["https://staging.mysite.com"],
    "scope": {
        "include": [{"rule": "https://staging.mysite.com/.*"}],
    },
    "scan_configurations": [
        {"name": "Crawl and Audit - Balanced"}
    ]
})

scan_id = response.json()["task_id"]
print(f"Scan ID: {scan_id}")

DAST для API: правила

DAST особенно важен для API:

  • Тестирование авторизации: доступ к чужим ресурсам (IDOR)
  • Injection через все input points
  • Business logic flaws (обход ограничений)
# Платформа для API security testing
# OWASP ZAP + Postman Collection
zap-cli --port 8090 start
zap-cli --port 8090 open-url https://api.staging.mysite.com
zap-cli --port 8090 spider https://api.staging.mysite.com
zap-cli --port 8090 active-scan https://api.staging.mysite.com
zap-cli --port 8090 report -o api-security-report.html -f html

DAST проводится на staging-среде, не на production. Активное сканирование создаёт нагрузку и может изменять данные.

Настройка DAST pipeline с ZAP в GitHub Actions — 1–2 рабочих дня.