- Главная
- Кибербезопасность
- Курсы
- Тестирование на проникновение веб-приложений (фундаментальный уровень)
Курс
Тестирование на проникновение веб-приложений (фундаментальный уровень)
Цели курса — познакомить слушателей с базовыми технологиями и устройством современных веб-приложений, эксплуатацией уязвимостей веб-приложений. Обучение работе с инструментами для анализа и эксплуатации. В качестве артефактов у участников курса останутся чек-лист по выполнению анализа защищенности веб-приложений, решенные задачи в публичных платформах для дополнения своего резюме, вектора атак, эксплойты и пэйлоады, применяемые для эксплуатации основных уязвимостей веб-приложений, отчет о результатах проведения работ по анализу защищенности веб-приложения.
Код курса
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
- Техники
- Обход фильтрации
- Code Injection
- Reverse shell
- Back connect receiver
- Рекомендации к защите
Упражнения:
- PHP инъекции
- Обход фильтрации
- Валидация входных данных
- Экранирование специальных символов
Изучение техник SQL инъекций, поиск, возможность выполнения произвольного кода, использование sqlmap для автоматизации. Исключение уязвимости SQL injection со стороны разработчиков
Содержание:
- Краткий обзор SQL
- Описание уязвимости SQL injection
- Пример
- Описание уязвимости SQL injection
- Упражнение
- Cheatsheets
Упражнения:
- 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 & 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
- IDOR
- Примеры
- MFLAC
- Тестирование на BAC
- Поиск входных точек
- Реализация и рекомендации
- IDOR
- Рекомендации
- 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, защита от 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, защита от атаки CSRF
Содержание:
- Атаки на сервер
- Атаки на клиента
- Same Origin Policy
- Зачем нужен SOP?
- А что можно?
- Демонстрация отправки запросов
- Cross-Site Request Forgery
- Форма
- XHR
- Защита
- Токены
- SameSite Cookie
- «Сложные» запросы
Упражнения:
- Сравнение ссылок по origin/span>
- Демонстрация отправки запросов evil.com/example.com
- Отправка запроса на другой Origin
- через заполнение и сабмит формы/span>
- через XmlHTTPRequest/fetch (AJAX-запрос)
- Сложные запросы браузеру
Чтение ответов с определенного origin (CORS). В контексте origin приложения выполнять Javascript-код (XSS). Кража cookies, модификация dom-дерева, изменение компонентов веб-страницы
Содержание:
- Cross-origin resource sharing
- «Сложность» запросов
- Cross-Site Scripting (XSS)
- HTML-injection)
- Внутри тэга
- Атрибут тэга
- Тэг <script>
- HTML-injection)
- «Классическая» классификация 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;
- Иметь опыт разработки веб-приложений (Как минимум динамических страниц).
FAQ — ответы на частозадаваемые вопросы
Рекомендуемые технические требования
для комфортного прохождения модуля и сохранения всех полученных материалов:
- Не менее 8 ГБ DDR3 оперативной памяти
- Процессор не менее четырех ядер с частотой не менее 2.3 Ггц
- Жесткий диск SSD со свободным местом не менее 256 ГБ
- Поддержка аппаратной виртуализации (Intel VT-x, AMD-V)
- Дополнительный — второй монитор (Диагональ от 17 дюймов, разрешением от 1280×720p c частотой обновления от 60 Гц)
- Современная операционная система (Минимально: Windows 10 x64, Linux, MacOS 10.13.6)
Все ответы
Заказать обратный звонок
Мы используем cookie
Используя наш сайт, вы соглашаетесь с использованием файлов cookie и сервисов сбора технических данных посетителей (IP-адресов, местоположения и др.) для обеспечения работоспособности и улучшения качества обслуживания.