Бауманский учебный центр «Специалист»

Программа курса Атака и защита веб - сайтов по OWASP Top 10
  Тема Ак. часов  
   
  Модуль 1. Концепции веб-сайтов
  • Принципы работы веб-серверов и веб-приложений
  • Принципы безопасности веб-сайтов и веб-приложений
  • Что такое OWASP
  • Обзор классификации OWASP Top 10
  • Знакомство с инструментами для выполнения атак
  • Настройка лаборатории

Лабораторная работа:  Установка, настройка и запуск учебного сайта

2  
  Модуль 2. Инъекции
  • Что такое инъекции и почему они становятся возможными

Не SQL инъекции

  • HTML инъекции
  • Что такое iFrame
  • iFrame инъекции
  • Что такое LDAP
  • LDAP инъекции
  • Что такое почтовые заголовки
  • Инъекции в почтовых заголовках
  • Инъекции команд операционной системы
  • Инъекции PHP кода
  • Что такое включения на стороне сервера (SSI)
  • SSI инъекции  
  • Концепции языка структурированных запросов (SQL)

Простые SQL инъекции

  • SQL инъекции
  • Что такое AJAX/JSON/jQuery
  • SQL инъекции в AJAX/JSON/jQuery
  • Что такое CAPTCHA
  • SQL инъекции  в обход CAPTCHA
  • SQLite инъекции
  • Пример SQL инъекции в Drupal
  • Что такое хранимые SQL инъекции
  • Хранимые SQL инъекции
  • Хранимые SQLite инъекции
  • Концепции XML
  • Хранимые SQL инъекции в XML
  • Использование User-Agent
  • SQL инъекции в поле User-Agent

Слепые SQL инъекции

  • Слепые SQL инъекции на логической основе
  • Слепые SQL инъекции на временной основе
  • Слепые SQLite инъекции
  • Что такое протокол доступа к объектам (SOAP)
  • Слепые SQL Injection в SOAP
  • XML/XPath инъекции

Лабораторная работа:  Выполнение атак на учебный веб-сайт с применением инъекций и защита сайта от таких атак.

4  
  Модуль 3. Взлом аутентификации и сеанса

Атаки на аутентификацию

  • Обход CAPTCHA
  • Атака на функционал восстановления паролей
  • Атака на формы входа
  • Атака на управление выходом
  • Атаки на пароли
  • Использование слабых паролей
  • Использование универсального пароля

Атаки на управление сеансом

  • Атаки на административные порталы
  • Атаки на  Cookies
  • Атаки на передачу идентификатора сеанса в URL
  • Фиксация сеанса

Защита от атак на аутентификацию и управление сеансом
Лабораторная работа:  Выполнение атак на учебный веб-сайт с применением атак на аутентификацию и управление сеансом.

2  
  Модуль 4. Утечка важных данных

Принципы атак, приводящих к утечке данных

  • Использование кодировки Base64
  • Открытая передача верительных данных по HTTP
  • Атаки на SSL BEAST/CRIME/BREACH
  • Атака на уязвимость Heartbleed
  • Уязвимость POODLE
  • Хранение данных в веб-хранилище HTML5
  • Использование устаревших версий SSL
  • Хранение данных в текстовых файлах

Лабораторная работа: Выполнение атак на учебный веб-сайт с применением техник раскрытия чувствительных данных и защита сайта от таких атак.

2  
  Модуль 5. Внешние XML объекты

Что такое внешние объекты XML (XXE)

Принципы атак на внешние объекты XML

  • Атака на внешние XML объекты
  • Атака XXE при сбросе пароля
  • Атака на уязвимость в форме входа
  • Атака на уязвимость в форме поиска
  • Атака на отказ в обслуживании

Лабораторная работа: Выполнение XXE атак на учебном веб-сервере и защита.

2  
  Модуль 6. Нарушение контроля доступа

Концепции DOR

  • Пример атаки на небезопасную прямую ссылку при смене пароля пользователя
  • Пример атаки на небезопасную прямую ссылку при сбросе пароля пользователя
  • Пример атаки на небезопасную прямую ссылку при заказе билетов в интернет-магазине

Принципы атак на функциональный уровень

Что такое обход каталога

  • Обход каталога в каталогах
  • Обход каталога в файлах

Предназначение заголовка хоста в HTTP

  • Атака на заголовок Host, приводящая к отравлению кэша
  • Атака на заголовок Host, приводящая к сбросу пароля

Концепции подключения локального или удаленного файла

  • Включение локального файла в SQLiteManager
  • Включение локального или удаленного файла (RFI/LFI)

Другие возможности ограничения доступа

  • Атака на ограничение доступа устройств
  • Атака на ограничение доступа к каталогам

Что такое подделка запросов на стороне сервера (SSRF)

  • Атака SSRF

Что такое внешние объекты XML (XXE)

  • Атака на XXE

Лабораторная работа: Выполнение атак на функционал учебного веб-сервера и защита.

2  
  Модуль 7. Небезопасная конфигурация
  • Принципы атак на конфигурацию
  • Произвольный доступ к файлам в Samba
  • Файл междоменной политики Flash
  • Общие ресурсы в AJAX
  • Межсайтовая трассировка (XST)
  • Отказ в обслуживании (Large Chunk Size)
  • Отказ в обслуживании (Slow HTTP DoS)
  • Отказ в обслуживании (SSL-Exhaustion)
  • Отказ в обслуживании (XML Bomb)
  • Небезопасная конфигурация DistCC
  • Небезопасная конфигурация FTP
  • Небезопасная конфигурация NTP
  • Небезопасная конфигурация SNMP
  • Небезопасная конфигурация VNC
  • Небезопасная конфигурация WebDAV
  • Локальное повышение привилегий
  • Атака «Человек посередине» в HTTP
  • Атака «Человек посередине» в SMTP
  • Небезопасное хранение архивных файлов
  • Файл robots

Лабораторная работа:  Выполнение атак на конфигурацию учебного веб-сервера и защита от таких атак.

2  
  Модуль 8. Межсайтовый скриптинг (XSS)

Концепции XSS

Отраженные XSS

  • Отраженная XSS в GET запросах
  • Отраженная XSS в POST запросах

Что такое JSON

  • Отраженная XSS в JSON

Что такое AJAX

  • Отраженная XSS в AJAX
  • Отраженная XSS в XML
  • Отраженная XSS в кнопке возврата

Что такое функция Eval

  • Отраженная XSS в функции Eval

Что такое атрибут HREF

  • Отраженная XSS в атрибуте HREF
  • Отраженная XSS в форме входа

Что такое phpMyAdmin

  • Пример отраженной XSS в phpMyAdmin

Что такое переменная PHP_SELF

  • Отраженная XSS в переменной PHP_SELF

Что такое заголовки HTTP

  • Отраженная XSS в заголовке Referer
  • Отраженная XSS в заголовке User-Agent
  • Отраженная XSS в пользовательских заголовках

Хранимые XSS

  • Хранимые XSS в записях блогов
  • Хранимые XSS при смене пользовательских данных
  • Хранимые XSS в Cookies
  • Хранимые XSS в SQLiteManager
  • Хранимые XSS в заголовках HTTP

Защита от XSS атак

Лабораторная работа: Выполнение атак на учебный веб-сайт с помощью отраженных и хранимых XSS и защита сайта от таких атак.

3  
  Модуль 9. Небезопасная десериализация

Что такое сериализация и десериализация

Принципы атак на небезопасную десериализацию

  • Демонстрация инъекции PHP объекта
  • Инъекция бэкдора при десериализации
  • Небезопасная десериализация в JavaScript

Лабораторная работа: Выполнение атак на учебный веб-сайт с уязвимостью небезопасной десериализации и защита сайта от таких атак.

2  
  Модуль 10. Использование компонентов с известными уязвимостями

Концепции инвентаризации уязвимостей

Что такое переполнение буфера

  • Локальные атаки на переполнение буфера
  • Удаленные атаки на переполнение буфера
  • SQL инъекция в Drupal (Drupageddon)
  • Уязвимость Heartbleed
  • Удаленное исполнение кода в PHP CGI
  • Атака на функцию PHP Eval
  • Уязвимость в phpMyAdmin BBCode Tag XSS
  • Уязвимость Shellshock
  • Подключение локального файла в SQLiteManager
  • Инъекция PHP кода в SQLiteManager
  • XSS в SQLiteManager

Лабораторная работа: Выполнение атак на учебный веб-сервер с использованием эксплойтов на известные уязвимости и защита сервера от таких атак.

2  
  Модуль 11. Отсутствие журналирования и мониторинга

Концепции журналирования в веб-приложениях

  • Пример недостаточного журналирования
  • Пример уязвимости при журналировании
  • Пример недостаточного мониторинга

Лабораторная работа: Изучение концепций и практических примеров отсутствия журналирования и мониторинг.

1  
  Аудиторная нагрузка в классе с преподавателем 24 +24
бесплатно
 
  По окончании обучения на курсе проводится итоговая аттестация. Аттестация проводится в виде теста на последнем занятии или на основании оценок практических работ, выполняемых во время обучения на курсе.