В декабре, под самый Новый год, в Москве прошел Кубок России по Capture the Flag. Школьники и студенты — молодые дарования по кибербезопасности — пришли на ВДНХ не для катания на катке в новогоднем убранстве, а чтобы в игровом формате проверить свои навыки по защите информации. Команды соревновались в умении найти и проэксплуатировать уязвимости в защищённой инфраструктуре виртуального предприятия.
Пользуясь статусом генерального партнера Кубка, под катом подводим итоги, а также рассказываем, как принять участие в Кубке в 2025 году. Делимся заданиями прошлых лет — они помогут оценить свой уровень и подготовиться.
Кубок CTF России 2024 год - подводим итоги
Кто не в курсе — CTF (Capture the Flag, Захват флага) — формат (обычно) групповых соревнований в кибербезопасности, где для победы необходимо захватить так называемый «флаг». Это уникальная комбинация символов, которая скрывается в решении задачки или внутри взламываемого сервиса. От участников требуется ее найти и отправить жюри для проверки.
Кубок CTF — интересная инициатива, которая помогает формировать у нового поколения ИТ‑специалистов интерес к кибербезопасности и защите объектов инфраструктуры в цифровом пространстве. Задания охватывают широкий круг вопросов — от поиска и эксплуатации уязвимостей или решения криптографических задач, до развития навыков форензики и реверс‑инжиниринга. Победу обеспечивают не только знания, но и выбранная тактика, умение работать в команде и быстро принимать оптимальные решения. В России Кубок CTF проводился уже в восьмой раз. Аквариус присоединился к этому движению сравнительно недавно — теперь это часть нашей программы «Больше, чем старт».
По нашему опыту молодежь проявляет себя очень хорошо, в том числе в сложных задачах. В департаменте информационной безопасности нашего центра разработок работает уже около десятка выпускников и студентов различных вузов. Поэтому мы всячески поддерживаем такие инициативы, как Кубок. Участие в них — это прекрасная возможность познакомится с будущими специалистами заранее, рассказать о себе как компании, в которую они могут потом прийти на практику, стажировку и первую работу.
В этом году участникам Кубка предложили формат attack‑defence, т. е. нужно было искать уязвимости в своих сервисах, а потом нападать на сервисы противников, используя знания о найденных лазейках. Красочную легенду, зачем это нужно, сформулировали в виде манги: https://ctfcup.ru/legend/.
В общей сложности в этом году зарегистрировалось 517 команд: 313 в академическом зачете, 72 — в школьном и еще 108 в смешанном. Хотя кубок был локальный (российский), уже второй год правила разрешают в смешанном зачете участвовать иностранным командам. Поэтому в отборочном этапе приняли участие кибердарования из: Албании, Азербайджана, Китая, Индии, Индонезии, Казахстана, Кыргызстана, Монголии, Пакистана, Таиланда и Вьетнама.
Отборочные туры Кубка проходили онлайн 26–27 октября 2024, а финал состоялся 20–22 декабря в Москве в павильоне Умный город ВДНХ:
20.12.2024 — финал среди школьников;
21.12.2024 — полуфинал среди команд смешанного и академического зачетов;
22.12.2024 — финал среди команд смешанного и академического зачета.
Несколько цифр, описывающих участников отборочного онлайн‑тура:
12 стран;
8 федеральных округов;
117 населенных пунктов;
517 команд — в общей сложности 850 человек;
167 ВУЗов, 51 СПО и 116 школ;
3 зачета: школьный, академический и смешанный;
приз: 250 тыс. рублей, фирменный мерч, подарки от партнеров.
В финал в каждом зачете вышли 10 команд, а победителями стали девять участников (по три команды в каждом зачете):
-
В школьном зачете:
Золото — p7dtTrm (Москва, Школа на Юго‑Востоке имени Маршала В. И. Чуйкова, Школа № 1537, Лицей «Вторая школа», Школа № 152, Школа № 179).
серебро и бронза у учеников Московской школы программистов, команды charlie +rwx и Pudge Fun Club.
В академическом зачете. Золото — dtl (Москва, МИФИ), серебро — VDNKh (Москва, ВШЭ).
В смешанном зачете. Золото — Drovosec (Москва, Санкт‑Петербург МГУ, ВШЭ, ИТМО, ГУАП). Серебро — LCD (Москва)
Как принять участие в 2025 году
Бесплатно поучаствовать в российском Кубке CTF могут команды, в составе которых до 5 человек в возрасте от 14 до 27 лет. Ограничений по учебному заведению или городу проживания нет.
О подаче заявок объявят заранее на сайте Кубка. Следите за новостями https://ctfcup.ru/.
Ниже вы найдете задачи 2023 и 2024 годов — они помогут понять, что происходит на соревнованиях и как к ним подготовиться.
Задачи прошлых лет
2023. Криптография. Murdata
Задание
Нам удалось найти один из старых сервисов «Арбалетов» для сбора персональных данных. <ДАННЫЕ_УДАЛЕНЫ> но может быть что‑то уцелело?
Аннотация к решению
Использование атаки Hash‑Length‑Extension.
Пароли в данной задаче шифруются с помощью murmur3, вдобавок, хэш сравнивается приведением строки к числу. Важный момент, что пустая строка хэшируется в 0, то есть можно авторизоваться за несуществующего пользователя, если в качестве пароля используется пустая строка.
Это не значит, что приложение даст использовать пустую строку как пароль, но дает возможность найти другую строку, murmur3 которой будет равен 0.
Обход двухфакторной аутентификации можно осуществить посредством HLE(Hash‑Length‑Extension)‑атаки.
И того имеем:
C помощью HLE подписываем к своему username строку /.../admin.
Пользователя с таким username не будет в Redis, а значит его пароль будет 0.
Передаем в качестве пароля такую строку, что ее хэш будет равен 0.
Получаем флаг (с помощью Path‑Traversal в логине).
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2023-quals/tree/master/tasks/crp/murdata
2023. Разное. Gamer
Задание
Часть первая. Один из моих бывших агентов решил сэкономить и согласился установить вместо нормального импланта какую‑то рухлядь с Земли, и перед глазами у него постоянно мелькало окно с какой‑то древней игрой, которую невозможно было закрыть. Делать нечего — чувак начал играть целыми сутками, и кажется доигрался до навязчивого психоза. Помоги спасти парня, пока он не натворил никаких дел.
Формат флага — ctfcup{\d{20}}
Аннотация к решению
Анализ сохранения игры. Требуется построить карту «Сапёра», включая карту мин и флагов. Поняв, что флаг выложен «флажками», посчитать количество мин рядом с флажками внутри скобок. Получив все 20 цифр, можно получить флаг.
Для решения достаточно написать простенький скрипт на питоне.
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2023-quals/tree/master/tasks/msc/gamer
2023. Форензика. Gamer
Задание
Часть вторая. В самом деле, не могла же древняя игрулька так затуманить разум элитного агента! Он нам что‑то недоговаривает... В зрительную кору по arbassh не зайдешь, а нужно узнать, что на самом деле у него там мелькает. Вербуют ли его?
Аннотация к решению
Анализ дампа памяти.
Есть 2 способа решить задание. Первый — сделать скриншот рабочего стола. Второй — получить список запущенных приложений, понять что запущен firefox, узнать что был открыт twitch в firefox, извлечь стрим из памяти firefox с помощью binwalk.
Для анализа дампа чаще всего используют Volatility.
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2023-quals/tree/master/tasks/for/gamer
2023. Форензика. Zion
Задание
Мы заметили странную активность на нашем сервере. Ходят слухи, что арбалеты сибири запускают на нем эксплойты, но они случайно оставили там свои секретные данные. Мы сняли дамп памяти процесса word.exe и записали траффик. Разберитесь с этим, мы рассчитываем на вас.
Аннотация к решению
Анализ дампа.
Дан core_dump вируса и запись трафика с сервера в формате pcap, для решения задания достаточно найти флаг в памяти вируса.
Задачу можно решить несколькими способами:
С помощью утилиты strings, которая извлекает и отображает последовательности печатных символов из бинарных файлов, пропарсив дамп вируса на содержание ключевого слова ctfcup.
Открыть файл в предпочитаемом текстовом редакторе (блокнот, notepad++, sublime и пр.) и произвести поиск через ctrl+f ключевого слова (ctfcup) (файл может быть достаточно огромным, оттого поиск может занять много времени).
Иные способы поиска контекстной строки в файле.
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2023-quals/tree/master/tasks/for/zion
2023. PPC. Floating in delirium
Задание
Летая на орбите над Metra Veehkim, вы находите себя в странном месте, средь чисел и арифметических операций.
Аннотация к решению
Необходимо предоставить функцию f(a), которая равна g(a)= a^42, но использовать можно только лишь арифметические операции.
Предлагается использовать assert для превращения любого числа в булеву переменную {0,1}. Для решения достаточно написать небольшой скрипт на питоне.
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2023-quals/tree/master/tasks/ppc/floating_in_delirium
2023. Уязвимости. Spy
Задание
Один из наших шпионов попал в руки Арбалетов! Мы успели получить от него координаты одного из серверов Megalith, но дальше связь оборвалась. Узнайте оставшуюся часть сообщения.
Аннотация к решению
К заданию прилагается программа с тремя вариантами своей реализации:
Написать любые 8 байт куда угодно.
Прочитать флаг в буфер.
Вывести содержимое буфера на экран.
Для каждого запуска программы применятся только один вариант.
Отсутствует защита таблицы GOT(Таблицы, используемой для динамической линковки функций в ELF‑файлах), а значит можно в puts@got, указывающий на адрес puts, осуществить перезапись на адрес функции main(), чтобы зациклить программу. Потом предполагается перезапись первой записи в _fini_array на spy_open и strchrnul@got на spy_print. _fini_array отвечает за регистрацию функций, выполняющихся при завершении программы. Заменив его на _spy_open, можно запустить последний при завершении работы программ. Далее перезаписывается strchrnul@got на spy_print, что означает, что при вызове в GOT strchrnul»a будет вызываться spy_print.
После переписывается puts@got на printf@plt, чтобы программа могла выйти из цикла, а далее программа последовательно выполнит spy_open и spy_print[1].
Могут пригодиться утилиты для чтения ELF‑файлов и дизассемблеры с возможностью анализа таблиц и функций (readelf / objdump).
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2023-quals/tree/master/tasks/pwn/spy
2023. Реверс-инжениринг. Time_Capsule
Задание
Один из артефактов былой золотой эпохи Metra Veehkim — временная капсула. Однако записка в этой временной капсуле говорит, что настоящей временной капсулой является этот файл.
Аннотация к решению
Задание на реверс‑инжениринг.
Дан исполняемый файл, который принимает данные и для каждого символа считает с помощью ВМ хэш(мод. md5)+соли.
Предполагается отреверсить результат и перебрать все возможные 256 символов для каждого хэшированного символа и найти подходящий.
Также существует альтернативное решение, заключающееся в подмене системного вызова getrandom (который используется для генерации криптографических ключей и инициализации криптографических алгоритмов), чтобы тот возвращал необходимую соль, и уже её перебрать с помощью данного в задании исполняемого файла.
Может пригодиться использование Ghidra или его аналогов, а также LD_PRELOAD для возможной кастомизации getrandom»a
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2023-quals/tree/master/tasks/rev/time_capsule
2023. Веб. Waf
Задание
В 2196 году ты не попадешь в кибервойска, если не решишь вот эту задачу.
Аннотация к решению
Задание на SQL‑инъекцию и обход WAF(Web Application Firewall).
WAF в задаче на основе OpenResty, он пытается заблокировать запрос, если находит в нем недопустимые символы. Файрвол умеет проверять Content‑Type для определения характера проверки тела запроса в зависимости от типа данных
Под WAF находится приложение, уязвимое к SQL‑injection. Приложение также поддерживает 2 вида Content‑Type: application/json и application/x‑www‑form‑urlencoded.
Уязвимость кроется в неготовности WAF»a получить дважды заголовок Content‑Type, вследствие чего он не способен проверить тело запроса.
Из‑за этой уязвимости представляется возможным провести SQL‑инъекцию и произвести удаленную запись в файл PHP‑Shell»a используя «Attach Database»
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2023-quals/tree/master/tasks/web/waf
2024. Криптография. likvidirovan
Задание
Вы вышли из бара и увидели шпиона, наблюдавшего за замесом цемента на сверхсекретной стройке шаурмечной. Он был прижат в угол и напоследок оставил секретный ключ для своих ребят. Без него люди не смогут спокойно есть шаурму, поэтому вам просто необходимо его достать!
Аннотация к решению
Задача заключалась в восстановлении секретного ключа, который шпион оставил на стройке, используя анализ операций XOR над хэшами. Решение базируется на преобразовании задачи в алгебраическую форму и применении матричных методов для нахождения решения.
Ключевые шаги решения:
-
Условие задачи:
Требуется найти такие значения xi=hash(inputi)x_i = \text{hash(input}_i\text{)}, чтобы выполнялось условие x1⊕x2⊕⋯⊕xn=0x_1 \oplus x_2 \oplus \dots \oplus x_n = 0.
Также введено ограничение: xi≠xjx_i \neq x_j, чтобы исключить возможность использования одинаковых хэшей.
-
Преобразование XOR в алгебраическую задачу:
XOR эквивалентен сложению по модулю 2, каждый хэш разбивается на 64 бита.
Это позволяет составить уравнение Mx=0Mx = 0 над полем GF(2)GF(2), где MM — матрица, сформированная из битов хэшей.
-
Поиск решений через правое ядро матрицы:
Вектор xx определяется как элемент правого ядра матрицы MM: x∈right_kernel(M)x \in \text{right\_kernel}(M).
Если xi≠0x_i \neq 0, то соответствующий хэш включается в сообщение, иначе не включается.
-
Оптимизация через LLL‑алгоритм:
Матрица ядра переводится в кольцо целых чисел ZZZZ, чтобы применить алгоритм Ленка, Ленстры и Ловаса (LLL).
Это сокращает длины векторов в правом ядре и позволяет выбрать более подходящие комбинации для решения задачи.
-
Код реализации:
Использовались функции для преобразования хэшей в биты и обратно:
def to_bits(h):
return [(h >> i) & 1 for i in range(64)]
def from_bits(lst):
return sum(lst[i] << i for i in range(63, -1, -1))
Матрица MM формируется из битов хэшей:
F2 = GF(2)
M = Matrix(F2, [to_bits(hsh) for hsh, inp in result_hash_pairs]).TПосле нахождения ядра через M.right_kernel_matrix()M.right\_kernel\_matrix() применялся LLL:
right_kernel_matrix = M.right_kernel_matrix().change_ring(ZZ)
L = right_kernel_matrix.LLL()
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2024-quals/tree/master/tasks/crypto/medium‑likvidirovan
2024. Криптография. ALODISPETCHER
Задание
Вы опять вышли из бара и стали свидетелем погони за шпионами. Четкая приора шпионов постоянно меняла номера, из‑за чего вам тяжело было дать их ориентировку. Так вот, за рулем вы подключились к их Тесле и выкачали оттуда их код для смены номеров (спасибо Илону Маску, что водителей прочипировали, и это не составило труда сделать). Теперь необходимо узнать, какой у них номер был изначально.
Аннотация к решению
Задача заключалась в восстановлении исходного номера, который использовали шпионы, на основе предоставленного шифра. Решение основывается на анализе линейной структуры шифрования и использовании инструмента Z3 для обратного проектирования.
Ключевые шаги решения:
Анализ SBOX.
Упрощение шифра.
Моделирование шифра.
Решение уравнений.
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2024-quals/tree/master/tasks/crypto/easy‑ALODISPETCHER
2024. Криптография. ANNIHILATORNAI_PUSHKA
Задание
Необходимо проанализировать алгоритм работы сложного криптографического шифра, чтобы восстановить утраченные данные. Задача требует применения линейной алгебры и теории полей для нахождения решения.
Аннотация к решению
В задаче используется сложный шифр, связанный с матрицей и ее свойствами. Решение включает восстановление данных через правое ядро матрицы, использование алгоритмов работы с конечными полями и оптимизацию результата с помощью LLL‑алгоритма.
Ключевые шаги решения:
Разбиение данных на биты и преобразование в матричную форму.
Построение матрицы и нахождение ее правого ядра.
Оптимизация длины векторов через LLL.
Восстановление данных из ядра матрицы.
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2024-quals/blob/master/tasks/crypto/hard‑annihilatornai_pushka
2024. Misc. NEAT
Задание
Предлагается задача, связанная с оптимизацией файловой структуры. Необходимо проанализировать сложные зависимости и восстановить последовательность данных, чтобы достичь требуемого результата.
Аннотация к решению
Задача решается с использованием методов теории графов и анализа последовательностей. Решение основано на нахождении кратчайшего пути в графе или оптимальной сортировки данных.
Ключевые шаги решения:
Построение графа на основе файловой структуры.
Анализ зависимостей между узлами графа.
Поиск оптимальной последовательности выполнения.
Восстановление данных.
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2024-quals/blob/master/tasks/misc/easy‑neat
2024. Misc. LONG_GRAPH
Задание
Необходимо обработать длинный граф и найти его основные характеристики, такие как минимальный путь, цикл или максимальную компоненту связности.
Аннотация к решению
Решение основывается на классических алгоритмах теории графов. Используются методы поиска в ширину (BFS), поиск в глубину (DFS), а также оптимизация памяти для работы с большим объемом данных.
Ключевые шаги решения:
Построение графа на основе входных данных.
Применение BFS или DFS для анализа структуры графа.
Определение минимального пути, цикла или связных компонент.
Оптимизация использования памяти для больших графов.
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2024-quals/blob/master/tasks/misc/medium‑long‑graph
2024. Misc. JUST_BFS
Задание
Требуется найти путь в графе, используя алгоритм BFS. Задача направлена на проверку понимания основ работы с графами.
Аннотация к решению
Задача решается стандартным применением алгоритма поиска в ширину. Важно учитывать ограничения по времени и памяти.
Ключевые шаги решения:
Реализация алгоритма BFS.
Обработка всех вершин и ребер графа.
Нахождение кратчайшего пути между заданными вершинами.
Оптимизация кода для работы с большими графами.
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2024-quals/blob/master/tasks/misc/hard‑just‑bfs
2024. PWN. POINTLESS
Задание
Изучение уязвимости программы с минимальной функциональностью. Требуется найти эксплойт, который приведет к выполнению произвольного кода.
Аннотация к решению
Решение задачи связано с анализом уязвимостей программы, таких как переполнение буфера или некорректная обработка пользовательских данных. Используется отладка, статический и динамический анализ.
Ключевые шаги решения:
Изучение кода программы и выявление потенциальных уязвимостей.
Использование отладчика для анализа работы программы.
Разработка эксплойта для эксплуатации найденной уязвимости.
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2024-quals/blob/master/tasks/pwn/easy‑pointless
2024. PWN. OLYMP
Задание
Программа с элементами защиты от эксплойтов. Необходимо обойти защитные механизмы и получить контроль над выполнением программы.
Аннотация к решению
Задача включает анализ защитных механизмов, таких как ASLR, NX, и попытки их обхода. Решение требует создания сложного эксплойта с учетом всех элементов защиты.
Ключевые шаги решения:
Изучение механизма защиты программы.
Использование информации о расположении стека или сегментов памяти.
Разработка эксплойта с учетом обхода защиты.
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2024-quals/blob/master/tasks/pwn/medium‑olymp
2024. PWN. R4v5h4n-N-Dj4m5hu7
Задание
Сложная задача по эксплуатации бинарного файла с множественными уровнями защиты. Требуется полный контроль над выполнением программы.
Аннотация к решению
Решение основано на комбинированных методах обхода защиты, использовании ROP‑гаджетов и анализа памяти. Требуется глубокое понимание архитектуры x86/x64.
Ключевые шаги решения:
Анализ кода и архитектуры программы.
Создание ROP‑цепочек для обхода защиты.
Разработка финального эксплойта для получения полного контроля.
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2024-quals/blob/master/tasks/pwn/hard‑R4v5h4n‑N-Dj4m5hu7
2024. Реверс-инжиниринг. SEARCHER
Задание
Анализ программы для нахождения скрытых данных или логики выполнения.
Аннотация к решению
Задача решается с помощью анализа байт‑кода программы, восстановления логики работы и поиска скрытых данных. Используются инструменты для реверса и отладки.
Ключевые шаги решения:
Изучение структуры программы.
Реверс‑инжиниринг логики выполнения.
Восстановление и анализ скрытых данных.
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2024-quals/blob/master/tasks/reverse/easy‑searcher
2024. Реверс-инжиниринг. STRANGE_ROOTKIT
Задание
Программа с элементами rootkit, требуется анализ ее поведения и восстановление исходного функционала.
Аннотация к решению
Решение включает статический и динамический анализ программы, использование инструментов для реверс‑инжиниринга и выявление вредоносной логики.
Ключевые шаги решения:
Анализ кода на наличие вредоносных элементов.
Отладка программы для выявления скрытого поведения.
Восстановление исходной логики программы.
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2024-quals/blob/master/tasks/reverse/medium‑strange‑rootkit
2024. Реверс-инжинириг. WEIRD_CRYPTER
Задание
Анализ сложного шифровальщика для восстановления зашифрованных данных.
Аннотация к решению
Задача включает анализ криптографических алгоритмов, применяемых шифровальщиком. Решение основывается на восстановлении логики шифрования и нахождении ключей.
Ключевые шаги решения:
Анализ криптографических алгоритмов.
Реверс‑инжиниринг механизма шифрования.
Восстановление ключей и расшифровка данных.
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2024-quals/blob/master/tasks/reverse/hard‑weird‑crypter
2024. Веб. ETCSTORE
Задание
Исследование веб‑приложения для выявления уязвимостей и эксплуатации их для доступа к скрытым данным.
Аннотация к решению
Решение основывается на анализе кода веб‑приложения, выявлении и эксплуатации уязвимостей, таких как SQL‑инъекции или XSS. Включает тестирование параметров и восстановление логики работы.
Ключевые шаги решения:
Анализ структуры веб‑приложения.
Тестирование параметров на уязвимости.
Эксплуатация выявленных уязвимостей.
Восстановление данных.
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2024-quals/blob/master/tasks/web/easy‑etcstore
2024. Веб. ETCSTORE_REVENGE
Задание
Расширенная версия задания ETCSTORE с добавлением новых защитных механизмов.
Аннотация к решению
Решение задачи требует обхода новых защитных механизмов. Используются техники анализа и эксплуатации веб‑приложений, включая обход WAF.
Ключевые шаги решения:
Изучение изменений в защите приложения.
Анализ обхода защитных механизмов.
Эксплуатация уязвимостей для доступа к данным.
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2024-quals/blob/master/tasks/web/easy‑etcstore‑revenge
2024. Веб. KONSTRUKTOR
Задание
Задача включает анализ конструктора веб‑страниц и выявление ошибок в логике генерации страниц.
Аннотация к решению
Решение основано на тестировании конструктора с разными параметрами, поиске логических ошибок и эксплуатации их для получения скрытых данных.
Ключевые шаги решения:
Анализ структуры конструктора.
Тестирование с разными параметрами.
Нахождение логических ошибок.
Эксплуатация ошибок для извлечения данных.
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2024-quals/blob/master/tasks/web/medium‑konstruktor
2024. Веб. HackerChat
Задание
Необходимо провести атаку на защищенный чат, используемый хакерами для обмена конфиденциальной информацией. Основной задачей является взлом механизма авторизации и получение доступа к переписке.
Аннотация к решению
Задача заключалась во взломе системы авторизации защищенного чата, анализе используемых алгоритмов и обнаружении уязвимости. Решение основывается на применении техник анализа веб‑приложений, поиска ошибок в механизмах аутентификации и эксплуатации уязвимостей.
Ключевые шаги решения:
Анализ структуры веб‑приложения.
Обнаружение слабости в механизме авторизации.
Разработка эксплойта для обхода авторизации.
-
Получение доступа к переписке.
Ссылка на задание и решение
https://github.com/C4T‑BuT‑S4D/ctfcup-2024-quals/blob/master/tasks/web/hard‑hackerchat