Можно потратить довольно много времени, пытаясь найти ответ на этот вопрос.
В этой статье я постараюсь обобщить все то, что я узнал, когда посмотрел на свою собственную карьеру со стороны, на карьеру моих коллег и их бэкграунд.
Мышление безопасника
Эта вещь, вероятно, более важная, чем технические знания, это то, что я называю «мышлением безопасника».
Это точка зрения или способ мышления.
Большинство людей, которые работают в области информационной безопасности, не имеют технических знаний, но у них есть образ мышления в области безопасности, что означает, что они могут критически оценивать системы и, даже в более широком смысле, весь мир, помогая выявлять вещи, которые могут пойти не так или могут быть использованы злонамеренно.
Пентестер должен научиться быть счастливым, когда он находит ошибку в системе, сети или коде.
Вот например, почему разработчики не должны тестировать свой собственный код?
Потому что они хотят, чтобы он работал.
Но тестировщик хочет, чтобы все сломалось, и поэтому он будет проверять код с помощью самых подлых тестов.
Как можно обмануть эту систему?
Как можно обойти защиту?
Какие данные являются конфиденциальными и как я могу получить к ним доступ?
Необходимо развивать это постоянное оценивающее мышление, в котором вы всегда будете искать вещи, которые могут пойти не так.
Технические знания
- HTTP: вам нужно понять протокол HTTP, как отправляются запросы на сервер и как ответы обратно. К счастью, HTTP довольно прост, поэтому это не должно быть трудным кейсом.
- SSL: В среднем на пентесте вам не придется слишком много работать с SSL, но необходимо знать, что это такое.
- Веб-приложения: вам нужно иметь общее представление о том, как работают веб-приложения. Я рекомендую заглянуть в PHP, потому что это довольно традиционный способ программирования веб-приложений, и взглянуть на инфраструктуры MVC, такие как django или Ruby on Rails. Я не думаю, что вам нужно быть веб-разработчиком, чтобы быть хорошим пентестером, но вы должны уметь представлять, что может происходить на сервере, когда вы тестируете приложение.
- Браузеры: вам необходимо иметь общее представление о том, как работают браузеры, потому что это половина поверхности атаки. Тут я имею в виду такие вещи, например, как отображаются страницы, как работают куки, как работает Same Origin Policy и т. д.
- JavaScript: 99% веб-приложений в некоторой степени используют JS, поэтому необходимо понимать, как он используется в браузере (т. е. XMLHttpRequest), и, по крайней мере, иметь возможность читать код JS и отлаживать его в браузере.
- Сети: для чистого веб-тестирования вам не нужно глубокое понимание базового сетевого стека (TCP / IP), но это, безусловно, плюс.
- HTML: поскольку он по-прежнему является основой всех веб-страниц, HTML довольно важен для понимания веб пентеста.
Техники атак
Конечно, вам нужно будет изучить основные методы атаки, отчасти потому, что они являются первым шагом, в взломе каждого приложения, а также потому, что они помогают вам понять, как работают эти методы, что будет вам на руку, когда вы начнете создавать свои собственные атаки.
OWASP Top 10 – это действительно хорошая отправная точка.
Вот список основных атак, которые необходимо знать:
- Межсайтовый скриптинг
- Межсайтовая подмена запроса
- Прямой доступ к URL
- hijacking
- SQL-инъекция
Изучить и попробовать реализовать все это на РЕАЛЬНЫХ стендах вы можете на курсе у наших друзей из codeby.net
Описание курса по пентесту веб-приложений
Полное оглавление составляет более 135 пунктов, не считая видео уроков и лабораторий. Это один из самых сильных курсов за всю историю рунета по теме Web Application Penetration Testing (WAPT).
Внимание! Доступ к урокам предоставляется последовательно, по мере их прохождения. Есть тестовые задания и минимальный балл для получения очередного урока.
- Команда курса:
- @BadBlackHat @al04e @r0hack @pr0phet @Dr.Lafa @sinner67 @n01n02h @Bidlo111
- Кто эти люди ? Победа команды кодебай в 12 лаборатории пентестит;
- Что в курсе ? Видео материалы с методичками, подробные инструкции. Доступ к лаборатории с уязвимыми системами;
- Почему мы, а не другие курсы ? Над созданием курса работает несколько человек. Полностью авторский курс с практическими примерами. Вас проведут за руку. Будут объяснять снова и снова до полного понимания вопроса;
- Что я получу: доступ к видео и текстовым материалам, а так же персональные консультации в рамках курса;
- Что еще: доступ к чату и приватному разделу курса на форуме на время обучения, премиум-доступ на один год;
- Для кого этот курс ? Для людей, желающих понять суть хакинга компьютерных систем и мер по защите от атак;
- Когда предзаказ ? 12 августа 2018 года;
- Когда релиз ? 1 ноября 2018 года.
Продолжительность обучения: Мы даем доступ на 4,5 месяца для полного погружения в тему. Выдаем сертификат об окончании курса.