Содержание курса
Введение и архитектура (Главы 1–3)
3 урока
1.
Современное состояние Web-технологий и философия атак
↗
2.
Разбор ключевых механизмов безопасности приложений
↗
3.
Технологический стек и протокол HTTP
↗
Разведка и работа с клиентом (Главы 4–5)
8 уроков
1.
Маппинг приложения
↗
2.
Перечисление содержимого и функциональности
↗
3.
Анализ приложения
↗
4.
Обход клиентских механизмов контроля
↗
5.
Передача данных через клиент
↗
6.
Сбор данных пользователя: HTML‑формы
↗
7.
Сбор данных пользователя: расширения браузера
↗
8.
Безопасная обработка клиентских данных
↗
Управление доступом (Главы 6–8)
14 уроков
1.
Атака на аутентификацию
↗
2.
Технологии аутентификации
↗
3.
Недостатки проектирования механизмов аутентификации
↗
4.
Ошибки реализации аутентификации
↗
5.
Защита аутентификации
↗
6.
Атака на управление сессиями
↗
7.
Зачем нужно состояние
↗
8.
Слабые места генерации токенов
↗
9.
Слабые места обращения с токенами сессии
↗
10.
Защита управления сессиями
↗
11.
Атака на контроль доступа
↗
12.
Типовые уязвимости
↗
13.
Атаки на контроль доступа
↗
14.
Защита контроля доступа
↗
Инъекции на стороне сервера (Главы 9–10)
13 уроков
1.
Атака на хранилища данных
↗
2.
Внедрение в интерпретируемые контексты
↗
3.
Обход аутентификации
↗
4.
Внедрение в SQL
↗
5.
Внедрение в NOSQL
↗
6.
Внедрение в XPath
↗
7.
Внедрение в LDAP
↗
8.
Атака на компоненты бэк-энда
↗
9.
Внедрение команд ОС
↗
10.
Манипулирование путями файлов
↗
11.
Внедрение в XML-интерпретаторы
↗
12.
Внедрение в запросы HTTP бэк-энда
↗
13.
Внедрение в почтовые сервисы
↗
Логические уязвимости и специфические атаки(Главы 11, 15, 17,18)
15 уроков
1.
Атака на логику приложений
↗
2.
Логические ошибки в реальном мире
↗
3.
Предотвращение логических ошибок
↗
4.
Использование утечки информации
↗
5.
Использование сообщений об ошибках
↗
6.
Сбор опубликованной информации
↗
7.
Использование выводов
↗
8.
Предотвращение утечки информации
↗
9.
Атака на архитектуру приложений
↗
10.
Многоуровневые архитектуры
↗
11.
Общий хостинг и поставщики услуг приложений
↗
12.
Атака на сервер приложений
↗
13.
Уязвимая конфигурация сервера
↗
14.
Уязвимое серверное программное обеспечение
↗
15.
Брандмауэры веб-приложений
↗
Атаки на пользователей (Главы 12–13)
12 уроков
1.
Атака на пользователей: межсайтовый скриптинг (XSS)
↗
2.
Разновидности XSS
↗
3.
XSS-атаки в действии
↗
4.
Поиск и использование уязвимостей XSS
↗
5.
Предотвращение XSS-атак
↗
6.
Атака на пользователей: другие методы
↗
7.
Перехват данных в разных доменах
↗
8.
Пересмотр политики одного источника (Same-Origin Policy)
↗
9.
Другие атаки с внедрением кода на стороне клиента
↗
10.
Атаки на локальную конфиденциальность
↗
11.
Атака на элементы управления ActiveX
↗
12.
Атака на браузер
↗
Профессиональный аудит и методология (Главы 14, 19–21)
23 урока
1.
Автоматизация персонализированных атак
↗
2.
Применение персонализированной автоматизации
↗
3.
Перечисление допустимых идентификаторов
↗
4.
Сбор полезных данных
↗
5.
Фаззинг для поиска распространенных уязвимостей
↗
6.
Собираем все вместе: Burp Intruder
↗
7.
Препятствия на пути автоматизаци
↗
8.
Поиск уязвимостей в исходном коде
↗
9.
Подходы к анализу кода
↗
10.
Сигнатуры распространенных уязвимостей
↗
11.
Платформа Java
↗
12.
ASP.NET
↗
13.
PHP
↗
14.
Perl
↗
15.
JavaScript
↗
16.
Компоненты кода баз данных
↗
17.
Инструменты для просмотра кода
↗
18.
Набор инструментов хакера веб-приложений
↗
19.
Веб-браузеры
↗
20.
Интегрированные тестовые пакеты
↗
21.
Автономные сканеры уязвимостей
↗
22.
Другие инструменты
↗
23.
Методология веб-хакера: общие рекомендации
↗