Профессия Специалист по кибербезопасности
Станьте специалистом по кибербезопасности даже с нулевым опытом в программировании.


Описание:
Чему вы научитесь
Профессия позволит вам совмещать технический потенциал и творчество.
- Основы веб-разработки. Вы изучите базовые веб-технологии: HTML, PHP, Python, JavaScript.
- Управление базами данных. Познакомитесь с языком SQL и получите представление об управлении базами данных.
- Поиск уязвимостей. Сможете найти и эксплуатировать типовые уязвимости в веб-приложениях.
- Защита сайтов от инъекций и скриптинга. Узнаете методы предотвращения SQL-атак и XSS-скриптинга.
- Организация пен-тестов. Сможете проводить тестирование защищённости по классификатору уязвимостей OWASP Top 10.
- Автоматизация работы. Научитесь проверять сайты на защищённость с помощью профессионального инструментария.
Программа курса:
1. Веб-вёрстка
Вводный модуль
- Как работают сайты. Backend и frontend. Вёрстка.
- Как выглядит и из чего состоит код веб-страницы.
- Установка редактора кода Sublime Text.
- Простая веб-страница на HTML. Теги и атрибуты.
- CSS-стили. Селекторы, параметры и значения.
HTML
- Структура HTML5-документа.
- Обзор и демонстрация работы основных HTML-тегов.
- Вёрстка веб-форм. Поля и кнопки. Валидация форм.
- Таблицы и табличная вёрстка.
- Семантическая вёрстка. Стандарты и валидность.
Основы JavaScript
- Что такое JavaScript и как его подключать к веб-странице.
- Библиотека jQuery. Управление стилями элементов.
- Обработка событий.
- Работа с DOM, изменение, добавление и удаление элементов.
- Отображение и скрытие элементов, анимация.
- Работа с сетью, получение и отправка данных.
- JavaScript-фреймворки.
Инструменты верстальщика
- Размещение своих работ в интернете. Домен и хостинг.
- Инструменты командной разработки. Таск-трекеры и Git.
- Сборщики, минификаторы и оптимизаторы проектов.
- Инструменты прототипирования.
- Другие среды разработки. NetBeans, WebStorm.
2. JavaScript
Знакомство с языком
- Что умеет JavaScript и почему он так популярен?
- Инструменты разработчика.
- Hello, world!
- Синтаксис языка.
Основы
- Введение.
- Числа.
- Строки.
- Логические значения.
- NaN (Not a Number).
- Infinity.
- Математические операторы.
- Переменные.
- Преобразование типов.
- Условия.
- Циклы.
Функции
- Введение.
- Объявление и вызов функций.
- Аргументы.
- Локальные и глобальные переменные.
- Hoisting.
- Возвращаемые значения.
- Рекурсия.
Массивы и объекты
- Понятие объектов.
- Объекты в JavaScript.
- Перебор свойств объекта.
- Массивы.
- Стандартный объект Math.
- Стандартный объект String.
- Стандартный объект Array.
- Стандартный объект Date.
Замыкания
- Глобальный объект window.
- Сборщик мусора.
- Замыкания.
- IIFE.
Объекты и конструкторы
- Функции-конструкторы.
- Контекст вызова.
- Привязка контекста (call, apply и bind).
Объектно-ориентированное программирование
- ООП. Наследование, инкапсуляция, полиморфизм.
- Функциональное наследование.
- Прототипное наследование.
- Прототипы стандартных объектов.
Разное
- Объект arguments.
- setTimeout и setInterval.
- Выполнение кода через eval.
- Обработка исключений (throw, catch).
- Регулярные выражения.
- Строгий режим (strict mode).
JavaScript в браузере, DOM
- Введение.
- DOM.
- Порядок выполнения скриптов.
- Селекторы.
- Свойства и методы элементов.
- События и обработчики.
- Погружение и всплытие событий.
Веб-API
- Console. Доступ к средствам отладки браузера.
- Window. Вывод интерфейса.
- Document. Указание на документ, открытый в окне.
- Информация о браузере и истории переходов.
- Доступ к локальным объектам через LocalStorage и SessionStorage.
- Указание на редактируемость элемента. ContentEditable.
- Разнообразие веб-API.
Клиент и сервер
- Клиент-серверное взаимодействие (введение).
- Запуск локального сервера.
- Общение с сервером без перезагрузки страницы. AJAX и callback.
- Формат представления значений и объектов. JSON и Promise.
- Обращения к внешним источникам данных. API и WebSocket.
Современный JavaScript, ES 2015
- История стандарта ECMAScript: введение.
- Транспиляция и полифиллы.
- Изменяемые и постоянные переменные. Let и const.
- Деструктуризация.
- Обработка ответов. Rest и spread.
- Встроенные выражения. Template strings.
- Стрелочные функции и параметры по умолчанию.
- Классы и наследование.
3. PHP
Введение в программирование на PHP
- Веб-сервер: установка, настройки.
- Синтаксис PHP и редакторы кода.
- Массивы в PHP.
- Структура файлов на сервере и их соответствие URL в строке браузера.
Структура управления данными. Базовые концепции PHP 7
- Встроенные (магические) константы, суперглобальные массивы.
- Выражения, операторы.
- Управляющие конструкции, циклы, приведение типов.
- Функции для ежедневной работы, подключение файлов, пример.
- Стили и стандарты оформления кода — psr-1 и psr-2, грамотное именование переменных.
- Терминология и типовые ошибки.
Протокол HTTP/HTTPS
- Протокол HTTP/HTTPS.
- Пример работы с GET и POST-данными.
- Пример интеграции вёрстки.
Пользовательские функцииФайлы и каталоги
- Файлы. Права доступа. Режимы работы.
- Функции по работе с файлами и каталогами.
- Загрузка файлов на сервер.
Cookie/Session
- Cookie.
- Session.
База данных MySQL
- Введение.
- Общие сведения о базах данных.
- Методы работы с базами данных.
- Основные операции для работы с таблицами.
- Синтаксис базовых запросов.
- Объединение данных из нескольких таблиц.
- Подготовленные запросы.
- Экспорт и импорт баз данных.
- Архитектура построения структуры таблиц баз данных.
- Реляционная база данных (нормальные формы). Часть 1.
- Реляционная база данных (нормальные формы). Часть 2.
- Стандарты и стили оформления в базах данных. Примеры работы.
4. SQL
- SQL: введение.
- Структура базы данных, запрос DESCRIBE.
- Выбор и фильтрация данных, запрос SELECT.
- Функции и выражения, агрегация данных.
- Отношения и соединение таблиц: JOIN.
- Группировка.
- Модификация данных.
- Подзапросы.
- Объявление и изменение структуры данных.
5. Кибербезопасность
Тестирование на проникновение. Наука и искусство белых хакеров
- Что такое пен-тест, кто им занимается, задачи и цели деятельности «белых» хакеров.
- Этичный хакинг (white hat) и андеграунд (black hat). Ответственность за преступления в области компьютерных технологий.
- Сценарии, подходы, методики и основные инструменты, используемые в практике пен-теста сайтов.
- Структура курса.
- Обзор ресурсов по теме этичного хакинга, библиотеки, полезные книги, шпаргалки.
Подготовка к тестированию на проникновение
- Подготовка рабочего места студента (компьютера, стенда).
- Структура веб-сайта и технологии, которые используются в интернете.
- Основные проблемы информационной безопасности для сайта.
- Проект OWASP и его рейтинг. Топ-10 ключевых угроз.
- Самые громкие взломы сайтов и их последствия для бизнеса.
- Проверка сайта перед покупкой: бан AdSense, спам-листы, накрутки на буксах, оценка посещаемости.
Основы практики тестирования веб-сайтов на проникновение
- С чего начать? Сбор информации о цели тестирования.
- Исследование периметра сайта и получение информации о средствах защиты.
- Использование автоматизированных инструментов поиска и анализа уязвимостей.
- Анализ полученных сведений и подготовка к эксплуатации уязвимостей.
Уязвимости веб-сайтов. Подтверждение и эксплуатация уязвимостей
- SQL-инъекции.
- Демонстрация SQL-инъекций и получение таблиц БД сайта.
- XSS-скриптинг.
- Демонстрация атаки с использованием XSS-скриптинга.
- Домашнее задание. Использовать SQL/XSS-уязвимости и получить учётные данные администратора сайта.
- Атаки на панели администрирования и систему аутентификации.
- Демонстрация получения несанкционированного доступа к панели администрирования сайта.