Райтапы по CTF{2025}
2.84K subscribers
215 photos
25 videos
87 files
393 links
☺️ Уютное сообщество для публикации райтапов с разных CTF соревнований и платформ

💬 Наш ламповый чатик: @writeup_chat

✍️ По любому вопросу можно писать мне: @freenameruuuu

Таски решать тут: @writeup_ctf_bot
Download Telegram
🧐 # Навигация и теги для поиска райтапов в канале

1️⃣ прошедшие CTF
#HackOSINT2024, #kubanctf2024, #КубокCTF2024, #RedShift2024, #SpookyCTF2024, #чемпионатпервенство2024, #VolgaCTF_2025 #tctf2025, #КубокCTF2025, #cybercamp2025

2️⃣ CTF платформы
#standoff365, #codebygames, #taipanbyte, #polyctf

3️⃣таски от подписчиков
бот в котором собраны все задачи, где их можно решать и получать баллы: @writeup_ctf_bot
#таск@writeup_ctf

🐱 БОНУС
#рекомендация@writeup_ctf #мемы, #полезное

💬 Канал & Чат | 📺 RUTUBE | 📺 YouTube

По вопросикам и предложениям пишите мне @freenameruuuu
обнял и жму краба
🦞
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥111
Капибрань.zip
3.6 KB
#network #trick #tctf2025
Капибрань

В задании нужно было найти страну клиента, который делает запросы через различные (9) прокси.

Если отправить какие-либо данные клиенту, он сразу же ответит, из чего можно узнать RTT (round-trip time) между своим сервером и клиентом. Тогда, если вычесть RTT между сервером и прокси, мы получим RTT между клиентом и прокси.

Считая, что оно пропорционально расстоянию от клиента до прокси <=> скорость постоянна, можно найти страну, для которой значения скорости примерно одинаковы, это можно сделать, например, вычислив стандартное отклонение.
Такое решение неидеально, для некоторых стран полученные отклонения могут быть очень близки, и нужно определять страну по RTT вручную.

Например, в моем случае у Испании и Швеции были почти одинаковые значения отклонения, но RTT равнялся ~330/370 мс, если клиент был в Испании/Швеции и передавал данные через 138.199.60.5 (да, можно было просто сделать таблицу с RTT для всех стран и одного/нескольких прокси и искать страны по ней, но это неинтересно).

Автор: @q4927

💬 Канал & Чат & Бот с тасками | 📺 RUTUBE | 📺 YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
Строка.zip
64.5 KB
#misc #network #coding #tctf2025
Капибегущая строка

Для начала надо экспортировать данные из wireshark в csv файл. Кода у меня нет, можно сделать чрез файл-Export Packet Dissections но там будут лишние строки и у меня код перестал работать. Потом надо написать код преобразующий полученные данные в матрицу, чтобы потом анимировать бегущую строку. Краткое пояснение логики "преобразования матрицы" (функция create_address_mapping)

Под "преобразованием матрицы" здесь понимается процесс отображения одномерного набора адресов устройств (например, 0x0100, 0x0101, ..., 0x0140) на двумерную сетку (матрицу) координат (строка, столбец) для визуализации.

Логика этого преобразования следующая:

Получение и фильтрация адресов: Функция получает на вход множество (set) всех уникальных адресов назначения, найденных в CSV-файле. Сначала отбираются только корректные шестнадцатеричные адреса (начинающиеся с 0x).

Числовое представление и сортировка: Отобранные адреса (которые являются строками) преобразуются в целые числа. Это критически важно для правильной сортировки. Если сортировать строки, то "0x10a" может оказаться раньше "0x109". После преобразования в числа адреса сортируются по возрастанию. Теперь у нас есть упорядоченный список адресов от самого младшего к самому старшему.

Итерация и вычисление координат: Скрипт проходит по этому отсортированному списку адресов. Для каждого адреса известен его порядковый номер (индекс) в этом списке (начиная с 0). Этот индекс используется для вычисления координат на сетке:

Номер строки (row) вычисляется как результат целочисленного деления (//) индекса на количество столбцов в сетке (GRID_COLS). Это показывает, сколько полных строк уже "заполнено" адресами перед текущим.

Номер столбца (col) вычисляется как остаток от деления (%) индекса на количество столбцов в сетке (GRID_COLS). Это показывает позицию адреса внутри его строки.

Предположение о порядке: Этот метод расчета координат предполагает так называемый "row-major order" (построчный порядок). Это значит, что сетка заполняется адресами слева направо, сверху вниз, сначала полностью заполняется первая строка, потом вторая и так далее.

Проверка границ: Скрипт проверяет, не превышает ли вычисленный номер строки (row) максимально допустимый (GRID_ROWS - 1). Если превышает, выводится предупреждение, так как адресов оказалось больше, чем ячеек в заданной сетке.

Создание карты: Результатом является словарь (mapping), где каждому исходному шестнадцатеричному адресу (строке) сопоставляется кортеж с его вычисленными координатами (строка, столбец). Эта карта затем используется функцией create_animation для отрисовки пикселя каждого устройства в нужном месте кадра.

Пример:
Допустим, GRID_COLS = 13.

Адрес с index = 0 -> row = 0 // 13 = 0, col = 0 % 13 = 0 -> Координаты (0, 0)

Адрес с index = 12 -> row = 12 // 13 = 0, col = 12 % 13 = 12 -> Координаты (0, 12)

Адрес с index = 13 -> row = 13 // 13 = 1, col = 13 % 13 = 0 -> Координаты (1, 0) (переход на следующую строку)

Адрес с index = 26 -> row = 26 // 13 = 2, col = 26 % 13 = 0 -> Координаты (2, 0)

Таким образом, упорядоченный список адресов "разворачивается" в двумерную сетку заданного размера

Автор: @K1rlII

💬 Канал & Чат & Бот с тасками | 📺 RUTUBE | 📺 YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
👍511
extension_71db2d8.zip
4.5 KB
#web #reverse #infra #tctf2025
Капибаза

Нужно было проанализировать код в файле content.js и составить ссылку для получения флага.

Конечный результат:

https://firestore.googleapis.com/v1/projects/t-capybase/databases/(default)/documents/sniffed

Автор: @masm32

💬 Канал & Чат & Бот с тасками | 📺 RUTUBE | 📺 YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31