Ответ
Тестирование безопасности — это процесс оценки приложения на наличие уязвимостей, которые могут привести к несанкционированному доступу, утечке данных или нарушению работы системы.
Основные категории уязвимостей и методы проверки:
-
Инъекции (OWASP A01):
- SQL-инъекция: Попытка внедрить SQL-код в параметры запроса.
-- Пример проверки в поле логина ' OR '1'='1' -- - Командная инъекция: Внедрение команд ОС через поля ввода.
- SQL-инъекция: Попытка внедрить SQL-код в параметры запроса.
-
Недостатки аутентификации и авторизации (OWASP A02, A01):
- Обход аутентификации (подбор учетных данных, слабые пароли).
- Недостаточный контроль доступа (IDOR): Попытка доступа к данным другого пользователя, манипулируя ID в запросе (например,
GET /api/users/123->GET /api/users/456).
-
Межсайтовый скриптинг — XSS (OWASP A03): Внедрение вредоносного JavaScript-кода, который выполняется в браузере жертвы.
<script>alert('XSS')</script> -
Межсайтовая подделка запроса — CSRF (OWASP A07): Вынуждение браузера пользователя отправить вредоносный запрос к доверенному сайту, где он аутентифицирован.
Инструменты:
- Сканеры уязвимостей: OWASP ZAP, Burp Suite (автоматическое сканирование).
- Ручное тестирование: Postman/Insomnia для анализа и модификации запросов.
- Анализ: Проверка заголовков безопасности (HSTS, CSP), валидация SSL/TLS, поиск чувствительных данных в ответах сервера и исходном коде.