Тестирование безопасности
Тренер: Арсений Батыров
Приглашенный эксперт: Виталий Котов
Курс про выявление наиболее распространенных уязвимостей в клиент-серверных приложениях, способы компроментации и защиты.
Онлайн-тренинг
Описание
Тестирование безопасности — одна из наиболее интересных тем во всей профессии тестировщика. Здесь пересекаются знания теории тестирования, поведения приложений, человеческой психологии и распространенных компьютерных ошибок.
Наиболее популярна эта тема для веб-приложений. Почему?
-
Веб-приложения ориентированы на массовое использование, поэтому сбои в работе, вызванные действиями злоумышленника, могут оказать негативное воздействие на большое количество ни в чём неповинных пользователей.
-
Веб-приложения могут хранить конфиденциальную информацию, утечка этих данных может иметь очень серьёзные последствия.
-
Доступ к веб-приложению имеет множество “недоверенных” пользователей, при этом владельцы или разработчики приложения как правило не могут контролировать или ограничивать их действия.
-
Обмен информацией между браузером и сервером происходит по открытым каналам с использованием открытых протоколов, поэтому сложно контролировать данные, передаваемые клиентами.
-
Разработка веб-приложений не всегда ведётся с должным вниманием к обеспечению защищенности и надёжности, потому что время разработки продукта для рынка — важнее качества.
Естественно, ошибки могут возникать не только в самих веб-приложениях. Уязвимость может находиться в веб-сервере, операционной системе, почтовой системе, или ftp-клиенте. Но задача создания защищенного окружения в большей степени находится в зоне ответственности системных администраторов, а вот защищенность веб-приложения — целиком на совести его разработчиков и тестировщиков.
На тренинге мы рассмотрим как простые способы поиска уязвимостей, не требующие особых знаний, так и более сложные и комплексные задачи, при тестировании которых придется углубиться в схемы работы приложений.
Краткое содержание курса:
Введение
- что такое уязвимость
- чем уязвимость отличается от бага
- чем опасны уязвимости
- что такое "вектор атаки" и эксплойт
Примеры логических уязвимостей
- смена пароля чужого аккаунта и token
- неавторизованный доступ к контенту
- валидация данных и наборов данных
Брутфорс
- что такое брутфорс
- как устроена капча
- словари паролей
HTML инъекция
- что такое инъекция кода
- чем опасны инъекции
- пример простой HTML-инъекции
- какие бывают способы борьбы с инъекциям
- как устроено веб-приложение
- свойства value, data и т.п.
- чем опасна HTML-инъекция
- пример поиска и использования HTML-инъекции
JavaScript-инъекция
- где стоит искать JavaScript-инъекцию
- чем опасна JavaScript-инъекция
- пример JavaScript-инъекции
XSS атака
- что такое XSS и отличается ли она от JavaScript-инъекции?
- чем опасны XSS
- что такое self-XSS
- примеры XSS атак
- как устроена авторизация и работа с cookie-файлами
CSRF - подделка запроса пользователя
- что такое CSRF
- что такое token запроса
- чем опасен CSRF
- пример CSRF
SQL-инъекция
- что такое SQL-инъекция
- когда стоит искать SQL-инъекцию
- чем опасна SQL-инъекция
- пример инъекции для GET-запроса
- сложный пример SQL-инъекции для POST-запроса - авторизация без пароля
- что такое "слепая (blind) SQL-инъекция", способы поиска
- комментирование в SQL и изменения вида запроса
- пример SQL-инъекции на вставке данных Insert
- работа с ответом сервера
- пример слепой SQL-инъекции
Сканирование кода на наличие backdoor
- что такое захват shell
- чем опасен захват shell
- как происходит захват shell и что такое exec
- раскрытие полного пути (Full path disclosure)
- пример захвата shell
Загрузка вредоносного файла на сервер
- как файлы передаются на сервер
- как обойти валидацию данных
- чем опасен исполняемый файл на сервере
- пример загрузки файла на сервер
Продвинутые техники
- как устроены сканеры безопасности веб-приложений
- что такое социальная инженерия
- что такое Bug Bounty программы и причем тут тестирование безопасности
Технические требования
Для выполнения заданий вам потребуется:
- Windows 7+ / Mac OS Mohave+ / Ubuntu 18.08+
- Процессор i-серии (i3, i5, i7) или аналогичный от AMD
- Минимум 4 GB RAM
- 10 GB на жёстком диске
- Разрешение экрана минимум 1280 x 800
Формат
4 занятий (4 часа теории) + много практических заданий для самостоятельной работы + постоянные консультации тренера в чате.
Раз в неделю по средам до 12.00 по Московскому времени выкладываются теоретические лекции, ссылки на дополнительные материалы, домашняя работа.
Теоретическую информацию можно посмотреть в любое удобное время.
Помимо теоретической части, вас также ждут практические задания для самостоятельной работы, которые вы можете прислать тренеру на проверку. После проверки практических заданий Вы получаете подробный комментарий по своей работе и при необходимости советы по доработке. По результатам комментариев тренера Вы можете переделать работу и отправить ее тренеру еще раз.
Общение участников курса и тренера проходит и в чате группы, где можно задавать вопросы тренеру и при желании общаться с другими участниками группы. Вы можете задавать вопросы по теоретическому материалу или практическим работам, как только они у вас возникают.
Все выпускники, успешно сдавшие домашние задания, получают сертификат.
Материалы курса доступны в течение года с даты окончания.
Условия
Стоимость участия для физических лиц: 11 000 рублей.
Стоимость участия для юридических лиц: 13 900 рублей за весь курс за одного участника. При регистрации от 3-х участников на один курс действует 15% скидка.
Организатор тренинга: ИП Батыров Арсений Георгиевич, ИНН 370207708748, ОГРНИП 316370200075996
Услуги оказываются на основании публичного договора оферты. Ознакомиться с договором можно ЗДЕСЬ.
Если Вы хотите оплатить тренинг прямо сейчас, то нажмите кнопку выше (если кнопка активна, значит можно оплачивать не беспокоясь о наличии мест). После оплаты мы пришлем письмо о регистрации на курс и подтверждение оплаты. Если Вы не получили письмо в течение рабочего дня, просто отправьте сообщение на trainings@software-testing.ru
Если Вы хотите совершить оплату позже, для гарантированного участия обязательно забронируйте место на тренинге, для этого необходимо нажать на кнопку ЗАПИСАТЬСЯ справа от тренинга и заполнить все необходимые поля
Если у Вас есть какие-то вопросы, их можно задать по указанному выше адресу.
Информация для юридических лиц:
Для регистрации на тренинг и оформления договора и выставления счета на оплату нажмите кнопку Записаться, выберите пункт Организация и заполните все поля.
Обратите внимание, что при постоплате стоимость тренинга увеличивается на 25%.
В случае возникновения вопросов обращайтесь по адресу trainings@software-testing.ru.
Ближайшие онлайн
-
Charles Proxy как инструмент тестировщика
Начало: 21 ноября 2024
-
CSS и Xpath: инструменты тестировщика
Начало: 21 ноября 2024
-
Python для начинающих
Начало: 21 ноября 2024
-
Автоматизация тестов для REST API при помощи Postman
Начало: 21 ноября 2024
-
Азбука IT
Начало: 21 ноября 2024
-
Инженер по тестированию программного обеспечения
Начало: 21 ноября 2024
-
Программирование на C# для тестировщиков
Начало: 22 ноября 2024
-
Логи как инструмент тестировщика
Начало: 25 ноября 2024
-
Погружение в тестирование. Jedi point
Начало: 25 ноября 2024
-
Школа Тест-Аналитика
Начало: 27 ноября 2024
-
Bash: инструменты тестировщика
Начало: 28 ноября 2024
-
Chrome DevTools: Инструменты тестировщика
Начало: 28 ноября 2024
-
Docker: инструменты тестировщика
Начало: 28 ноября 2024
-
Git: инструменты тестировщика
Начало: 28 ноября 2024
-
SQL: Инструменты тестировщика
Начало: 28 ноября 2024
-
Тестирование GraphQL API
Начало: 28 ноября 2024
-
Школа для начинающих тестировщиков
Начало: 28 ноября 2024
-
Selenium IDE 3: стартовый уровень
Начало: 29 ноября 2024
-
Программирование на Python для тестировщиков
Начало: 29 ноября 2024
-
Тестирование REST API
Начало: 2 декабря 2024