Что такое OWASP?

«Что такое OWASP?» — вопрос из категории Безопасность, который задают на 24% собеседований PHP Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

OWASP (Open Web Application Security Project) — это международное некоммерческое сообщество, которое занимается повышением безопасности веб-приложений. Оно предоставляет разработчикам и специалистам по безопасности бесплатные и открытые ресурсы: документацию, инструменты, стандарты и методики.

Ключевые проекты OWASP:

  • OWASP Top 10 — регулярно обновляемый рейтинг наиболее критичных рисков безопасности веб-приложений (например, инъекции, небезопасная десериализация, сломанная аутентификация).
  • OWASP ZAP (Zed Attack Proxy) — популярный бесплатный инструмент для динамического тестирования безопасности (DAST).
  • OWASP ASVS (Application Security Verification Standard) — стандарт для определения и измерения требований безопасности.
  • OWASP Cheat Sheet Series — набор кратких руководств по защите от конкретных уязвимостей.

Пример уязвимости из OWASP Top 10 — SQL-инъекция:

// Уязвимый код
$userId = $_GET['id'];
$query = "SELECT * FROM users WHERE id = " . $userId;
$result = mysqli_query($connection, $query);

Защита с использованием подготовленных выражений (Prepared Statements):

// Безопасный код
$stmt = $connection->prepare("SELECT * FROM users WHERE id = ?");
$stmt->bind_param("i", $_GET['id']); // 'i' указывает на целочисленный тип
$stmt->execute();
$result = $stmt->get_result();

В своей работе я использую OWASP Top 10 как контрольный список на этапе проектирования и код-ревью, а инструменты вроде ZAP включаю в CI/CD пайплайн для автоматического сканирования.