Курс
Тестирование на проникновение веб-приложений (фундаментальный уровень)

Цели курса — познакомить слушателей с базовыми технологиями и устройством современных веб-приложений, эксплуатацией уязвимостей веб-приложений. Обучение работе с инструментами для анализа и эксплуатации. В качестве артефактов у участников курса останутся чек-лист по выполнению анализа защищенности веб-приложений, решенные задачи в публичных платформах для дополнения своего резюме, вектора атак, эксплойты и пэйлоады, применяемые для эксплуатации основных уязвимостей веб-приложений, отчет о результатах проведения работ по анализу защищенности веб-приложения.

Записаться на обучение

Код курса

B-213

Формат обучения

Виртуальный класс

Что узнают слушатели:

Основные уязвимости веб-приложений, включая, но не ограничиваясь OWASP Top 10

Обзор устройства веб-приложений, сбор информации, дирбастинг и краулинг. Обзор тестирования веб-приложений, знакомство с Burp Suite

Уязвимости авторизации и менеджмента сессий, рекомендации по обеспечению безопасности аутентификации. Обеспечение правильного хранения паролей

Изучение атаки Path traversal, File Upload, Local & Remote File Inclusion, Local File Read и как от них защищаться. Изучение URL схем, безопасность архивов (Archive Upload Issues)

Уязвимость обход контроля доступа (Broken Access Control), разграничение доступа в веб-приложениях, на функциональном уровне и на уровне объектов, оптимизация защиты от уязвимости. Изучение работы шаблонов, изучение уязвимостей, автоматизация эксплуатации уязвимостей шаблонов

Изучение сериализации, небезопасной десериализации для разных языков программирования, методы защиты от уязвимости

Изучение уязвимостей Server Side Request Forgery, защита веб-приложения от обращений к внутренним ресурсам. Изучение уязвимости XML eXternal Entity, защита от XXE. Изучение атаки PDF Rendering

Чтение ответов с определенного origin (CORS). В контексте origin приложения выполнять Javascript-код (XSS). Кража cookies, модификация dom-дерева, изменение компонентов веб-страницы

Чему научатся слушатели:

Обнаруживать и эксплуатировать основные уязвимости серверной части веб-приложений

Обнаруживать и эксплуатировать основные уязвимости клиентской части

Оценивать корректность реализации механизмов аутентификации и управления сессиями

Использовать Burp Suite и другие инструменты для выявления и эксплуатации уязвимостей веб-приложений

Программа обучения

10 занятий

40 ак. часов

Знакомство с базовыми технологиями и устройство современных веб-приложений

Обзор устройства веб-приложений, сбор информации, дирбастинг и краулинг. Обзор тестирования веб-приложений, знакомство с Burp Suite


Содержание:

  • Обзор устройства веб-приложений
    • Веб-приложение
    • MVC
    • Фреймворки
    • Routing
    • SPA (приложения-одностраничники)
    • Веб-сервер
  • Сбор информации
    • Что вообще можно собирать
    • Сбор информации об используемых технологиях
    • Сбор входных точек
    • Пассивный сбор
  • Дирбастинг и краулинг
    • Словари
    • Burp Intruder
    • Виртуальные хосты
    • Работа с .git/.svn
  • Обзор тестирования веб-приложений
    • Подходы к анализу
  • Что есть полезного для изучающих пентест веба
    • Программное обеспечение

Упражнения:

  • Дирбастинг с помощью Burp Intruder
Уязвимости OS Command injection

Изучение уязвимостей к инъекциям, защита от внедрения на сервер инъекциями


Содержание:

  • Уязвимость OS Command injection
    • Техники
    • Обход фильтрации
    • Code Injection
  • Reverse shell
  • Back connect receiver
  • Рекомендации к защите

Упражнения:

  • PHP инъекции
  • Обход фильтрации
  • Валидация входных данных
  • Экранирование специальных символов
Уязвимость SQL Injection

Изучение техник SQL инъекций, поиск, возможность выполнения произвольного кода, использование sqlmap для автоматизации. Исключение уязвимости SQL injection со стороны разработчиков


Содержание:

  • Краткий обзор SQL
  • Описание уязвимости SQL injection
    • Пример
    • Упражнение
    • Cheatsheets
  • Вектора эксплуатации: bypass, union-based
  • О поиске инъекций и сборе информации из базы
  • Вектора эксплуатации уязвимости SQL injection: error-based, boolean-blind, time-based.
  • Использование sqlmap для автоматической эксплуатации уязвимостей SQL injection
  • Рекомендации для разработчиков для исключения уязвимости SQL injection
  • Обзор имеющихся информационных ресурсов по уязвимости SQL injection

Упражнения:

  • Bypass инъекции
  • Stacked queries инъекции
  • Union-based инъекции
  • Error based инъекции
  • Boolean blind инъекции
  • Out of Band инъекции
  • Time based инъекции
  • Привелигированные атаки
Аутентификация и менеджмент сессий

Знакомство с уязвимостями авторизации и менеджмента сессий, рекомендации по обеспечению безопасности аутентификации. Обеспечение правильного хранения паролей


Содержание:

  • Authentication
  • Факторы аутентификации
  • О сессиях
  • Результат аутентификации
  • Сравнение
  • Сессионные идентификатооры
  • JWT
  • Время жизни сессий
  • Передача сессий на серверную сторону
  • О паролях
  • Сложность пароля
  • Хранение пароля
  • Восстановление пароля
  • Делегирование аутентификации
  • Brute Force
    • User Enumeration
    • Password Bruteforce
    • SMS OTP Bruteforce
  • Защита от брутфорса
    • Временная блокировка
    • Обход CAPTCHA с помощью tesseract
  • Bruteforce — утилиты

Упражнения:

  • Демонстрация сессий PHP
  • Демонстрация jwt.io
  • Обход CAPTCHA с помощью tesseract
  • Работа с Burp Intruder и Patator
Уязвимость Path traversal. Уязвимость File Upload. Атака Local File Read

Изучение атаки Path traversal, File Upload и как от них защищаться. Local & Remote File Inclusion, Local File Read. Изучение URL схем, безопасность архивов (Archive Upload Issues)


Содержание:

  • Path Traversal
    • bWAPP
    • Как защищаться?
  • File Upload
    • Web shell
    • Практика bWAPP
    • Обход ограничений на расширения
    • JSP — web shell
    • Как защищаться?
    • MIME types
  • Local & Remote File Inclusion
    • Local File Inclusion
    • Remote File Inclusion
    • bWAPP
    • PHP и нулевой байт
    • Как защищаться?
  • Local File Read
    • Стандартные файлы
    • Исходный код
  • URL Schema
    • В операциях с файлами
    • PHP Wrappers
  • Archive Upload Issues
    • Zip Slip
    • Создание архива
    • Symlinks

Упражнения:

  • bWAPP — Directory Traversal
  • Простейший веб-шелл на PHP
  • bWAPP — Other bugs/ Unrestricted File Upload
  • Пример tomcat
  • Демонстрация LFI, RFI (php.ini), LFI через файл сессии
  • Демонстрация в bWAPP security_level=2
Уязвимость Broken Access Control

Уязвимость обход контроля доступа (Broken Access Control), разграничение доступа в веб-приложениях, на функциональном уровне и на уровне объектов, оптимизация защиты от уязвимости. Изучение работы шаблонов, изучение уязвимостей, автоматизация эксплуатации уязвимостей шаблонов


Содержание:

  • Разграничение доступа в веб-приложениях
  • Разграничение доступа на функциональном уровне
  • Разграничение доступа на уровне объектов
  • Broken Access Control
    • IDOR
      • Примеры
    • MFLAC
      • Тестирование на BAC
      • Поиск входных точек
      • Реализация и рекомендации
  • Рекомендации
  • Server Side Template Injection
  • Шаблоны HTML-страниц
  • Инструменты
  • Примеры

Упражнения:

  • bWAPP — IDOR: Change Secret, Order Tickets
  • Missing Functional Level Access Control (MFLAC)
  • Тестирование на BAC
  • Практика поиска входных точек
  • Практика на Portswigger
Небезопасная десериализация

Изучение сериализации, небезопасной десериализации для разных языков программирования, методы защиты от уязвимости


Содержание:

  • Сериализация
  • PHP serialization
  • Insecure Deserialization
    • Пример
    • Пример с созданием файла
  • PHP deserialization
    • Magic methods
    • Exploitation
    • Known gadgets
    • Как защищаться?
  • Java serialization
  • Java deserialization
    • Cheat Sheet
    • Known gadgets
    • Runtime.exec
    • Как защищаться?
  • .Net serialization
    • Known gadgets
  • Pythonn
    • Pickle
    • Yaml
  • Ruby — Yaml.load

Упражнения:

  • PHP, Java deserialization
  • PHP, Java, .Net, Python, Ruby serialization
Уязвимости Server Side Request Forgery и XML External Entity

Изучение уязвимостей Server Side Request Forgery, защита веб-приложения от обращений к внутренним ресурсам. Изучение уязвимости XML eXternal Entity, защита от XXE. Изучение атаки PDF Rendering


Содержание:

  • Server Side Request Forgery
    • Адреса
    • Цели
    • CRLF injection
    • Пример temp mail и SMTP
    • Схемы
    • Защита
    • DNS rebinding
    • Упражнение
    • Материалы
    • Blind
    • Windows
  • XML eXternal Entity (XXE)
    • Entity
    • Встроенные Entity
    • Внутренние Entitry
    • Внешние Entity
  • XXE Вектора атаки
    • DoS
    • Чтение локальных файлов
    • Типы
    • Out-of-band
    • Защита
  • PDF Rendering
    • Вектора атаки

Упражнения:

  • Пример Blind SSRF: Сканирование портов
  • Пример с запросом на internal_web
  • Пример temp mail и SMTP
  • Пример обхода ssrf_check.php — читаем internal_web
  • Попасть в админскую секцию /admin.php через ssrf_check.php
  • Встроенные, внутренние и внешние Entity
  • PDF Rendering
Same Origin Policy. Cross-Site Request Forgery

Изучение атак на сервер и клиента, Same Origin Policy и зачем он нужен. Изучение атаки Cross-Site Request Forgery, защита от атаки CSRF


Содержание:

  • Атаки на сервер
  • Атаки на клиента
  • Same Origin Policy
  • Зачем нужен SOP?
    • А что можно?
    • Демонстрация отправки запросов
  • Cross-Site Request Forgery
    • Форма
    • XHR
    • Защита
    • Токены
    • SameSite Cookie
    • «Сложные» запросы

Упражнения:

  • Сравнение ссылок по origin/span>
  • Демонстрация отправки запросов evil.com/example.com
  • Отправка запроса на другой Origin
    • через заполнение и сабмит формы/span>
    • через XmlHTTPRequest/fetch (AJAX-запрос)
  • Сложные запросы браузеру
Cross-Site Scripting, Security Headers

Чтение ответов с определенного origin (CORS). В контексте origin приложения выполнять Javascript-код (XSS). Кража cookies, модификация dom-дерева, изменение компонентов веб-страницы


Содержание:

  • Cross-origin resource sharing
    • «Сложность» запросов
  • Cross-Site Scripting (XSS)
    • HTML-injection)
      • Внутри тэга
      • Атрибут тэга
      • Тэг <script>
  • «Классическая» классификация XSS
    • Отраженные XSS
    • Хранимые XSS
    • DOM-based XSS
    • Другие важные аспекты оценки XSS
    • Self XSS
  • Эксплуатация XSS
    • Кража Cookies
    • Модификация DOM
    • Обход защиты от CSRF
    • Upload XSS
      • SVG XSS
      • XML XSS
  • Исследование о работе разных веб-серверов с разными типами загруженных файлов
  • Защита от Upload XSS

Упражнения:

  • Пример XSS bWAPP
  • Эксплуатация XSS: Cookies, DOM
  • Защита от Upload XSS
Записаться на обучение

Как проходит обучение

  • Иммерсивный подход
  • Фокус на практике. Более 70% времени обучения вы уделите развитию практических навыков.

  • Никаких записей с прошлых потоков
  • Обновляем контент перед каждым запуском курса, снимая актуальные запросы с рынка и ориентируемся на них, создавая программы обучения.

  • Эксперты — реальные практики
  • Наши преподаватели проходят тестирование на соответствие требованиям CyberEd. Мы приглашаем лучших экспертов — практиков, которые каждый день сталкиваются с реальными задачами и решают их.

  • Требования к слушателям курса:
    • Уметь читать специализированную документацию и техническую литературу на английском языке;
    • Иметь опыт написания кода на любом языке программирования (PHP, Python, Java, JavaScript, Ruby, etc…);
    • Иметь представление о взаимодействии компьютеров в сети (Понимать работу протоколов IP, TCP, DNS, HTTP);
    • Иметь опыт работы с ОС Linux;
    • Иметь опыт разработки веб-приложений (Как минимум динамических страниц).
    01   / 05

    Записаться на обучение

    !
    !

    FAQ — ответы на частозадаваемые вопросы

    Требования к программному обеспечению?

    Рекомендуемые технические требования

    для комфортного прохождения модуля и сохранения всех полученных материалов:

    • Не менее 16 ГБ оперативной памяти
    • Процессор не менее четырех ядер с частотой не менее 2.3 Ггц
    • Жесткий диск SSD со свободным местом не менее 250 ГБ
    • Поддержка аппаратной виртуализации (Intel VT-x, AMD-V)
    • Дополнительный — второй монитор (Диагональ от 17 дюймов, разрешением от 1280×720p c частотой обновления от 60 Гц)
    • Современная операционная система (Минимально: Windows 10 x64, Linux, MacOS 10.13.6)

    Все ответы

    Получить консультацию
    !
    !

    Спасибо,
    менеджер свяжеться с вами в ближайшее время

    Спасибо,
    за регистрацию на вебинар

    Заказать обратный звонок

    !
    Заполните это поле
    !
    Заполните это поле