- SSTI
- SQL-инъекция
- XSS
- Переполнение стека(буфера)
- Проблемы аутентификации и проверки сессий
- Уязвимости CSRF
- Незащищенные API
- Использование компонентов с уязвимостями
- Проблемы контроля доступа
- Неверная конфигурация
- RCE
- LFI/RFI
Уязвимости веб-приложений возникают тогда, когда разработчики добавляют небезопасный код в веб-приложение. Это может происходить как на этапе разработки, так и на этапе доработки или исправления найденных ранее уязвимостей. Недостатки часто классифицируются по степени критичности и их распространенности. Объективной и наиболее популярной классификацией уязвимостей считается OWASP Top 10. Рейтинг составляется специалистами OWASP Project и актуализируется каждые 3-4 года.
В последней редакции OWASP Top Ten названы следующие уязвимости:
- Нарушение контроля доступа. Система плохо контролирует уровни доступа к информации или к своей функциональности.
- Недочёты криптографии.
- Инъекции. Ненадёжные данные передаются интерпретатору кода через ввод формы или с помощью другого способа отправки информации в веб-приложение.
- Небезопасный дизайн. Логика работы приложения может позволять использовать существующие функции для взлома.
- Небезопасная конфигурация. Настройки приложения, сервера, базы данных или других компонентов системы не являются безопасными.
- Использование уязвимых или устаревших компонентов. К этому типу уязвимостей относят случаи, когда веб-приложение использует сторонние фреймворки, библиотеки, плагины или другие компоненты, которые имеют выявленные дефекты безопасности.
- Ошибки идентификации и аутентификации.
- Нарушения целостности программного обеспечения и данных.
- Ошибки логирования и мониторинга безопасности.
- Подделка запросов на стороне сервера.