惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
博客园 - 【当耐特】
GbyAI
GbyAI
M
MIT News - Artificial intelligence
Microsoft Azure Blog
Microsoft Azure Blog
A
About on SuperTechFans
罗磊的独立博客
Apple Machine Learning Research
Apple Machine Learning Research
腾讯CDC
F
Fortinet All Blogs
IT之家
IT之家
WordPress大学
WordPress大学
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Last Week in AI
Last Week in AI
Google DeepMind News
Google DeepMind News
Jina AI
Jina AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
D
DataBreaches.Net
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Help Net Security
V
Visual Studio Blog
小众软件
小众软件
Y
Y Combinator Blog

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром T-TOPS: Как распутать гордиев узел проекта после выхода в прод (меч не понадобится) Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания
Системной подход к сдаче OSWE в 2025
CuriV · 2026-04-16 · via Все публикации подряд на Хабре

Введение

Offensive Security Web Expert (OSWE) – продвинутая сертификация offsec по безопасности WEB приложений. Причем ключевым отличием от менее известного Offensive Security Web Assessor (OSWA) является упор на анализ исходного кода приложения, то есть поиск уязвимостей в формате «белого» ящика.

Окончательное решение сдавать этот экз я принял на бизнес съезде в Турции, когда познакомился с предпринимателем, который проходил ironman дважды.  Мой поздний достигатель сразу загорелся идеей о стремительной подготовке. Однако товарищ председатель кооператива задал мне закономерный вопрос: «А OSWE сдать ты не хочешь?».

9 апреля 2025 года, в своём телеграм-канале PathSecure я опубликовал новость о приобретении курса :-)

Письмо счастья

Письмо счастья

Сам серт я получил со второго раза. В этой статье расскажу о подготовке и процессе сдачи.

2. Подготовка

Я знал, что этот путь будет сложным. По крайней мере непривычным. У меня почти не было опыта анализа исходного кода и я скорее считаю себя внутрянщиком/инфраструктурщиком, чем вебером. Конечно, какие-то штуки по вебу мне известны и понятны, но назваться экспертом я бы постеснялся.

Так или иначе, я продолжил использовать обкатанный метод подготовки к обучению в широком смысле (описывал его тут по итогам OSCP).

Я сразу же забронировал слоты в календаре для обучения. Помним про матрицу Эйзенхауэра и что важные-срочные задачи будут всегда по определению и, если не выделять время на стратегию (а обучение - это стратегическая задача), то с места не сдвинешься. Особенно это заметно у людей, которые пока не научились работать с большим количеством задач и утопают в операционке.

Матрица Эйзенхауэра

Матрица Эйзенхауэра

Хронометраж лаб. Отличный способ понять укладываешься ли ты в срок или нет. Курс ограничен тремя месяцами и хочется успеть пройти весь материал.  Поэтому я считал всё время, потраченное на лабы, отмечал паузы, на чем остановился/застрял, а в конце подводил суммарный итог по времени. Какие-то лабы занимали 2-3 часа, какие-то 10-11 часов чистого времени. Алгоритм оценки трудозатрат примерно такой:

  1. Хронометрируем несколько лаб от начала до конца

  2. В каждой считаем время на выполнение

  3. Считаем среднее между ними, например так, (2 часа + 11 часов)/2 и получаем, что в среднем лаба занимает 6.5 часов.

  4. Умножаем 6.5 на оставшиеся, допустим, 8 лаб, получаем, что необходимо инвестировать еще 52 часа.

  5. Берем еще какой-то запас на всякие форс-мажоры, например, 30% 

  6. Получили, что для завершения курса нам нужно еще 52 * 1.3 ~= 67 часов

  7. Смотрим на наш календарь, где в неделю выделено 3 часа на обучения и понимаем, что 67/3 ~= 22 недели и мы вполне успеваем или вполне не успеваем и корректируем наше расписание по модели PDCA

Мой пример хронометража

Мой пример хронометража

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

3. Ретро по завершению курса (до экзамена)

Итак, три месяца подписки пролетели незаметно. Я прошел весь материал курса и прорешал с конспектированием почти все лабы (кроме двух).  Какими же выводами я могу поделиться:

TLDR:

  1. Лабы хорошие;

  2. Материал хороший;

  3. Хронометраж важен и полезен;

  4. Жестко выделяйте время на обучение;

  5. Ведите свой конспект;

  6. Подготовьтесь перед тем, как взять курс.

- - -

  1. Лабы реально годные. В комментариях в телеграм канале писали обратное, но мне действительно понравилось. У меня не было сложностей с их разворачиванием, поиском и эксплуатацией уязвимостей. В целом всё достаточно гладко.

  2. Материал реально годный. Я не специализируюсь на вебе, а особенно на белом ящике, поэтому почти всё мне было в новинку. Особенно дебаг и всякие продвинутые техники SQL-инъекций или подноготная SSTI, или Prototype Pollution (я о таком даже не слышал), или скрейпинг админской страницы через XSS.

  3. Я хронометрировал время выполнения каждой лабы. В среднем уходило 8 часов. Это позволило мне в какой-то момент осознать, что сроки горят и надо больше вкладываться. Порешал несколько лаб в отпуске.

  4. У меня несколько плотный график из роли тимлида хакеров и помимо проектной деятельности у меня есть стратегирование, встречи 1-1, встречи с проектной командой, пресейлы, разборы входящих, всяческие синхронизации между другими командами. Короче важно-срочных дел много, но так далеко не уедешь. Необходимо жестко бронировать слоты в течении недели на подготовку. Именно так у меня и было - по часу в день. Не всегда удавалось и большую часть я решал на выходных.

  5. Я веду конспект теоретического материала (это поможет быстро освежить знаний), а также формирую чеклист с готовыми командами, чтобы быстро что-то реализовать.

  6. Курс реально не новичковый. Требует от вас детальное понимание HTTP протокола; навыков работы с командной строкой; программирование на питоне, js; опыт работы с СУБД;

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

При планировании экзамена может возникнуть сложность с выбором времени. Экзамен долгий (48 часов), много кто его сдает по всему миру, следовательно, слоты достаточно сильно ограничены. Поэтому очень важно заранее забронировать период, примерно за недели 3. 

4. Во время экзамена

Сам процесс экзамена достаточно стандартный, кроме того, что активная часть занимала 48 часов, а не 24 (как на OSCP). Также существует прокторинг – это требование offsec в чате сдачи экзамену, по которому ты обязан пошарить экран и включить вебку. Перед началом экзамены ты показываешь  в камеру паспорт и показываешь что находится вокруг тебя. Забавно, но проктор стригерился на плазму, которая весела передомной. Сначала попросил снять её, но мне удалось договориться на том, что я просто закрою экран простыней.

48 часов – это правда много. Я смотрел в окно и ощущал себя хиккой, который сидел дома неделю.  Конечно, в такие моменты стоит сходить на 15 минут и подышать воздухом. На дистанции в 48 часов такая пауза погоды не сделает, зато поможет проветрить голову. Известно, что во время сна или отдыха наш мозг продолжает обрабатывать задачи, но уже в другом режиме, поэтому работа продолжается. Возможно, кому-то это поможет подраслабить FOMO.

Жиза

Жиза

Физические ограничения – это лишь малая часть сертификации. Наибольшую сложность представляет работа над ментальным состояние. Особенно сильно это проявляется, когда ты не можешь найти точку входа, зацепиться за что-то, обнаружить баг и так далее – всё это заставляет очень сильно фрустрировать. В такой момент очень важно заземлиться, успокоиться, передохнуть, пересмотреть свои заметки и вернуться (TryHarder).

Еще один ключевой совет – это употреблять пищу, спать, пить, разминаться. Базовые физические штуки помогают оставаться в фокусе. Так как активная часть размазана на 48 часов, важно не ломать привычный ритм жизни.

Для успешного прохождения экзамена необходимо проэксплуатировать цепочку уязвимостей в WEB-приложении и автоматизировать её на любом доступном языке программирования. Нужно уметь прогать. Для себя я выбрал питон (так как знаю только его) и в целом особых сложностей с разработкой PoC не возникло. Базовая рекомендация здесь – это хорошо владеть библиотекой requests, а также использовать бурповый прокси для дебага. В целом хорошей практикой является писать PoC на лабы в ходе обучения, какие-то паттерны в коде будут прослеживаться и переиспользоваться.

5. Заключение (после экзамена)

Итак, курс и экзамен мне понравились. Есть, конечно, что-то притягательное в этом процессе обучения. В сфере наступательной безопасности обучение примерно бесконечное: множество направлений, новых уязвимостей, подходов. Думается мне, что в эпоху AI-агентов множество техник будет автоматизировано, но агентами же должен кто-то управлять? А значит, что фундаментальные знания и умение учиться будут актуальны еще долго.

В заключение хочется пожелать успехов всем, кто начинает/продолжает свой путь в профильные сертификации.  А я на днях стартую трехмесячное приключение по сдаче OSEP :)


 Вопросы задавайте в комментариях или в личке в телеге t.me/curiv.
 
 Мой личный телеграм канал: t.me/pathsecure.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

9.09%Да, фуллхаус из сертов1

36.36%Нет, но планирую получать4

36.36%Нет, получать не планирую4

Проголосовали 11 пользователей. Воздержавшихся нет.