← Все комнаты Путь «Первые шаги» →Путь «Форензика» →
НовичокФорензика Флаг Осенний CTF

Магические байты

Прогресс комнаты 0 / 4
Задание 1Введение

Цель: Определять настоящий тип файла по сигнатуре, а не по расширению.

У файла evidence.bin стёрто расширение. Вот первые 16 байт его содержимого. Определите настоящий формат. Флаг — CTF{расширение} строчными буквами.

Задание 2Теория и инструменты

Большинство форматов начинаются с фиксированной последовательности байтов — сигнатуры (magic number). PDF начинается с %PDF, ZIP — с PK, JPEG — с FF D8 FF.

Утилита file в Linux определяет тип именно так. Злоумышленники часто меняют расширение, чтобы обойти фильтры загрузки.

Инструменты

  • Linux: file evidence.bin, xxd evidence.bin | head
  • Таблица сигнатур: Wikipedia «List of file signatures»

Больше теории — в разделе «Обучение: Форензика».

Задание 3Практика: найдите флаг
Данные задания67 символов
00000000: 8950 4e47 0d0a 1a0a 0000 000d 4948 4452  .PNG........IHDR
Войдите, чтобы ответить

Пошаговый план — открывайте по одному шагу

  1. 1
    Прочитайте первые байты в шестнадцатеричном виде (89 50 4E 47 ...) и в текстовой колонке справа.

Подсказки — каждая до решения стоит −10 очков

Задание 4Как защититься

При загрузке файлов на сервер проверяйте содержимое (сигнатуру и полный парсинг), а не расширение и не Content-Type от клиента.

Разборы участников

Разборы открываются после того, как вы решите комнату, — чтобы не спойлерить ответ.