Skip to content

Сломанный передатчик

Vladimir edited this page May 19, 2018 · 1 revision
  • Категория: PPC
  • Стоимость: 250
  • Автор: Владимир Черепанов
  • Репозиторий

Описание

Один из наших людей заблудился где-то неподалёку. Мы смогли с ним связаться, но его передатчик неисправен.

Узнайте, что он хочет сказать.

Сайт

Что даётся

  • ссылка на сайт с передатчиком

Решение

Первые байты

На сайте ничего нет, кроме двух строчек: одна из них почти повторяет описание, а вторая представляет собой набор каких-то байтов.

Если мы попробуем декодировать их, то получим странные слова:

>>> bytes.fromhex('6e 69 6d 20 61 64 20 6d 69 6e 69 6d 20 76 65 6e')
b'nim ad minim ven'

Выглядит так, будто это - часть какого-то текста. Заходим снова на сайт, обновляем страницу и видим уже другие байты:

Вторые байты

Попробуем декодировать и их:

>>> bytes.fromhex('69 61 6d 2c 20 71 75 69 73 20 6e 6f 73 74 72 75')
b'iam, quis nostru'

Эти два отрывка складываются в один вполне связный текст: nim ad minim veniam, quis nostru

Постойте... Это же Lorem ipsum! Если кратко, то это - текст-пустышка, бессмысленный набор латинских слов, который используется при вёрстке, чтобы занимать место будущего осмысленного текста.

Вот его версия из Википедии, и да, там есть наш отрывок.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Заметим, что байты на сайте обновляются с некоторой периодичностью (примерно раз в пять секунд). Можем собрать их вручную или же написать небольшой скрипт, который будет заходить на сайт и собирать их автоматически.

В итоге мы получим флаг, записанный сразу после Lorem ipsum. Если посчитать, то длина сообщения, которое отдавал сервер, равна 512 символов и каждые 5 секунд сервер показывал следующие 16 байт этого сообщения.

Пример эксплоита можно найти в репозитории таска.