- PVSM.RU - https://www.pvsm.ru -
В каждой профессии есть ритуал инициации, о котором не принято говорить вслух. У хирургов — первая ночная смена с тяжёлым пациентом. У пилотов — посадка вслепую на тренажёре. У багхантеров и пентестеров есть Карлос. Да, тот самый Carlos, чей пароль или токен вы будете выгрызать из экзаменационного приложения PortSwigger, пока где-то на фоне тикает таймер, а Burp Collaborator хранит гробовое молчание.
Всем привет. Меня зовут Султан. Первая попытка, два часа — экзамен сдан.

Я знаю, о чём вы подумали: сдать BSCP с первого раза удаётся очень немногим, даже опытным специалистам. Так почему у меня получилось? Ответ — в методологии.
Я не буду рассказывать о вещах, которые и так известны абсолютному большинству. Раскрывать все уязвимости из экзамена смысла нет: существует около сотни различных комбинаций, запомнить их все невозможно.
Что имеем, пройденный двухмесячный курс, полгода до этого. Ничего не успел выучить, лишь бегло пройденный материал. После курса, хаотичное изучения материалов в интернете, решение лаб на различных специализированных платформах. В целом багаж знаний никакой, так, что-то видел, что-то читал.
Никакой магии. Результат «два часа с первого раза» — это не врождённый талант и не везение с билетом. Это три месяца методичной работы. Рассказываю по дням, часам и темам.
Четыре, пять, иногда шесть часов ежедневно. Без выходных. Звучит сурово, но здесь важен не героизм, а ритм. привыкает к нагрузке, и через две-три недели Burp Suite перестаёт быть рабочим инструментом и становится продолжением рук. Это состояние, когда ты не ищешь кнопку Repeater взглядом, а уже печатаешь пейлоад.
Такое погружение даёт важный эффект: начинаешь визуально понимать, где находится или может находиться уязвимость. В перспективе это экономит время на экзамене.
Три месяца — оптимальный срок. Меньше — не успеете переварить объём. Больше — начинаете забывать начало.
База — PortSwigger Web Security Academy. Но я не проходил её линейно. После изучения всего, что представлено по конкретной теме на PortSwigger, искал дополнительные материалы. Читал статьи экспертов. Разбирал раскрытые репорты. Решал лабораторные работы вне Академии — это расширяет понимание уязвимости.
Например, если решаете лабораторные по XSS, всегда старайтесь довести уязвимость до эксплуатации — до кражи куки. На экзамене нужно именно проэксплуатировать уязвимость, а в Академии решение часто ограничивается PoC с alert().
Вот что я делал эти три месяца:
— 4-6 часов ежедневно, без выходных. — Каждая тема: теория PortSwigger → статьи экспертов → раскрытые репорты → сторонние лабораторные работы.
— Приоритет темам, которые реально встречаются на экзамене. GraphQL и подобное — потом.
— Любую XSS доводить до кражи куки. Никаких alert() для галочки.
— После каждой пройденной темы — Mystery Labs по ней же.
— За две недели до экзамена — Mystery Labs на время по всем темам вперемешку.
— Минимум два полных пробных экзамена. Без подсказок, с таймером, до победного.
Здесь режим меняется. Знания уже есть. Задача — научиться применять их на время.
Я включал таймер и начал решать Mystery Labs вслепую: заходишь и должен сам найти уязвимость. Решал по 15-25 штук в день с лимитом 40 минут на лабу. На экзамене два приложения, в каждом три этапа, условно по 40 минут на каждый этап. Если не укладывался — дорешивал, но фиксировал: где застрял, почему потерял время, какой вектор не проверил сразу.
За три дня до X я провёл два полных пробных экзамена. Условия максимально приближённые к реальным: четыре часа таймера, два приложения, никаких подсказок, скриншоты с адресной строкой.
Первый пробник — не уложился в тайминг, долго думал над третьим этапом, небезопасная десериализация. Второй — чисто. После второго понял: я готов.
Уже известно, что на экзамене представлены не все темы из Академии. По мере прохождения тем становится ясно: некоторые из них просто не могут быть в экзамене из-за специфики этапов.
Например: вы не получите доступ к аккаунту через GraphQL и не прочитаете локальный файл с помощью CSRF. Каждый этап подразумевает конкретные типы уязвимостей — это нужно иметь в виду при планировании подготовки. Существует множество таблиц на просторах интернета с возможными уязвимостями которые могут встретиться на том или ином этапе экзамена, можно на них ориентироваться при подготовке. Вот примерная таблица

В конце этого трёхмесячного марафона я вывел для себя формулу:
Концентрация × Усидчивость × Внимание к деталям = Скорость.
Скорость на BSCP — это не про то, как быстро вы кликаете мышкой. Это про то, как быстро
И да — огромное желание. Без него три месяца по пять часов в день не вытянуть. Оно либо есть, либо нет.
А теперь — интересное. Разберу одну задачу, которая попалась мне на экзамене. В Академии такого нет. Я показываю её, потому что она как раз о том, что нужно шире изучать тему, нежели представлено в академии.
На первом этапе второго приложения я получил доступ к аккаунту Карлоса через отравление веб-кеша. В куках была сессия:

Первая часть — URL-encoded JSON {"username":"carlos","isloggedin":true}.
Вторая часть после -- — цифровая подпись HMAC. Сервер использует её, чтобы защитить куку от подделки.
Первое что приходит в голову это CSRF атака. Сброс пароля на эндпоинте /new_password. Отправляется POST запрос на смену пароля, в теле которого указан CSRF токен и username для которого меняется пароль. Помнив, что сервер отклонит куку в случае ее изменения, возникла мысль, а что будет, если куку оставить Карлоса, а в теле username=carlos изменить на username=administrator? Правильно, сервер вернет нам куки администратора. Я успешно повысил права до администратора.

Отдельное спасибо моему другу и наставнику — Никите (wr3dmast3r [2]). Без его поддержки, советов и веры в меня этот марафон мог бы закончиться иначе.
Спасибо всем за прочтение моей статьи. Буду рад если мои советы и разбор, помогут вам в подготовке к экзамену и приведут вас к долгожданному сертификату.
Сертификат: https://portswigger.net/web-security/e/c/22a248890961507f
[3]Telegram: @PUham9yPQ [4]
Автор: Sultan_13
Источник [5]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/450784
Ссылки в тексте:
[1] Мозг: http://www.braintools.ru
[2] wr3dmast3r: https://habr.com/ru/users/wr3dmast3r/
[3] https://portswigger.net/web-security/e/c/22a248890961507f
: https://portswigger.net/web-security/e/c/22a248890961507f%EF%BF%BC
[4] @PUham9yPQ: https://t.me/PU1ham9yPQ
[5] Источник: https://habr.com/ru/articles/1030460/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1030460
Нажмите здесь для печати.