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

推荐订阅源

人人都是产品经理
人人都是产品经理
aimingoo的专栏
aimingoo的专栏
Y
Y Combinator Blog
B
Blog
D
Docker
C
Check Point Blog
A
About on SuperTechFans
云风的 BLOG
云风的 BLOG
F
Fortinet All Blogs
Stack Overflow Blog
Stack Overflow Blog
Recent Announcements
Recent Announcements
MongoDB | Blog
MongoDB | Blog
WordPress大学
WordPress大学
Jina AI
Jina AI
罗磊的独立博客
月光博客
月光博客
博客园 - Franky
L
LangChain Blog
H
Help Net Security
Google DeepMind News
Google DeepMind News
Microsoft Security Blog
Microsoft Security Blog
小众软件
小众软件
T
Tailwind CSS Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

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

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет 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 пользователей. Воздержавшихся нет.