Какой у вас опыт в тестировании безопасности (Security Testing)?

«Какой у вас опыт в тестировании безопасности (Security Testing)?» — вопрос из категории Тестирование безопасности, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Есть опыт проведения тестов на безопасность веб-приложений и API, в основном в рамках ручного тестирования на проникновение и автоматизированного сканирования уязвимостей.

Основные категории уязвимостей (OWASP Top 10):

  1. Инъекции (A01):
    • SQL Injection: ' OR '1'='1'; --
    • Command Injection: ; cat /etc/passwd
  2. Недостатки аутентификации (A02): Тестирование на слабые пароли, сброс учетных записей, возможность брутфорса.
  3. Раскрытие чувствительных данных (A03): Проверка, не передаются ли пароли, токены или PII в открытом виде (логи, ответы API).
  4. XSS (A03): Внедрение скриптов: <script>alert(document.cookie)</script>
  5. Недостатки контроля доступа (A01): Попытки горизонтального/вертикального эскалирования привилегий (доступ к данным другого пользователя или админ-панели).
  6. CSRF (A01): Проверка отсутствия токенов защиты в изменяющих состояние запросах (POST, PUT, DELETE).

Инструменты:

  • OWASP ZAP / Burp Suite для проксирования трафика, сканирования и фаззинга.
  • Postman / Newman для тестирования безопасности API.
  • Командная строка с curl для ручных проверок.

Пример проверки заголовков безопасности:

curl -I https://example.com | grep -i "strict-transport-security|content-security-policy|x-frame-options"
# Ожидаем заголовки: HSTS, CSP, X-Frame-Options: DENY