Безопасность веб-приложения
Изучаем безопасность на примере библиотеки личных заметок: модель угроз, проверка данных, XSS, SQL, пароли, сессии, права доступа, файлы и эксплуатация приложения.
В серии 22 урока. Последовательно расширяем модель угроз и учебное приложение security-lab. После отдельных механизмов защиты переходим к зависимостям, HTTPS, жизненному циклу данных, реагированию на инциденты и итоговому разбору.
Перед началом
Понимание HTTP, HTML, Python и основ SQL. Практические примеры выполняются в собственном учебном приложении.
Уроки по порядку
- Модель угроз веб-приложения: активы и границы доверия
- Локальный стенд безопасности
- Валидация входных данных веб-приложения
- XSS и контекст вывода
- CSP и защитные заголовки
- Защита от SQL-инъекций: параметризованные запросы
- Пароли веб-приложения: хранение и проверка
- Безопасность веб-сессий и cookie
- Авторизация объектов веб-приложения: права доступа
- Защита форм от CSRF
- Безопасные редиректы: проверка адреса назначения
- Безопасная загрузка изображений
- Приватные файлы в Flask: проверка права доступа
- SSRF и исходящие запросы
- Безопасность API и CORS
- Rate limiting в веб-приложении: лимит попыток и нагрузки
- Секреты и логи: безопасная обработка ошибок приложения
- Безопасность зависимостей
- HTTPS и доверие к прокси
- Безопасность веб-приложения: жизненный цикл данных
- Безопасность веб-приложения: действия при утечке и инциденте
- Проверка безопасности перед выпуском
Уроки развивают общий пример. Переходите к следующему после разбора результата предыдущего; к нужной теме можно вернуться по этому оглавлению.