Рубрика: Криптография — Долгое угадывание криптографии

В вопросе нам даются nc address и python source code для сервера.

При чтении кода код выдает пользователю первые 3 случайных числа, после чего пользователю необходимо ввести (угадать/предсказать) следующее число (остаток от деления на 10000) что сервер правильно сгенерировал 1000 раз подряд.

В классе PRNG (псевдослучайный генератор) он генерирует случайное a, b и заданное значение p, а также имеет значение state, инициализируемое посредством создания объекта. После этого функция next должна создать вычисление следующего числа, используя предыдущее число. Следовательно, функция является типом линейной функции. Этот конкретный генератор называется Линейный конгруэнтный генератор (LCG).

Здесь сервер сгенерирует случайное число, которое станет начальным числом объекта PRNG, затем он сгенерирует следующее 3 число и напечатает в пользователи Так как это тип линейной функции.

Следовательно, seeds — это state или первый член уравнения, мы будем называть его T:

Затем он сгенерирует следующие 3 термина:

В LCG он имеет 3 целых числа:

p указано в исходном коде 11760071327054544317, поэтому нам нужно найти a и b, чтобы предсказать/решить следующее число. Поскольку у нас есть 2 уравнения и 2 неизвестных a и b, мы можем решить уравнение. Здесь подробно описано, как найти пропавшие Multiplier и Increment, а также описаны различные способы взлома LCG. Как только мы узнаем a и b, мы можем узнать следующее число, используя скрипт ниже.

Реализуя часть его кода для поиска a и b, мы пишем скрипт, чтобы правильно ответить на 1000 последовательных чисел, пока он не вернет флаг.

Категория: Мобильные устройства — SpeedyQuizy

Данный APK-файл SpeedyQuizy.apk

Используя онлайн декомпилятор apk, мы можем декомпилировать файл.

Внутри исходного кода StartQuiz.java, ниже фрагмент кода

Мы знаем, что он использовал socket для подключения к серверу, поэтому мы можем просто использовать nc в терминале для подключения к серверу www2.wargames.my с портом 8080. В терминале мы nc www2.wargames.my 8080

Ввод ok приведет к вопросу

Но вопрос случайно выбирается из набора вопросов. Поэтому нам нужно выбрать часть вопроса, чтобы мы могли создать скрипт для ответа на него.

Используя приведенный ниже скрипт, мы можем получить часть вопроса. Кредиты H0j3n

Ниже приведен список некоторых вопросов

Скрипт ниже автоматически ответит на вопрос:

Рубрика: Стеганография — неприятность

Данный файл nuisance.arc

Откройте файл, используя HxD, чтобы найти файл сигнатуры, Быстрый Google сигнатуры типа файла .arc нашел 41 72 43 01, который является сжатым файлом FreeArc.

Загрузите программу FreeArc. В программе мы не можем извлечь файл, так как он поврежден. Но у программы есть возможность восстановить поврежденный архив.

После восстановления и извлечения мы по-прежнему не можем открыть файл flag.palm. Итак, мы быстро погуглили файл .palm и нашли некоторую информацию, в которой говорится, что файл представляет собой файл изображения Palm OS Bitmap Image, который можно открыть с помощью приложения ImageDisk. Скачайте ImageDisk и откройте с его помощью файл:

Категория: Разное — Обезвредить бомбу!

Данный файл bomb.zip. Файл представляет собой Zip-бомбу, которая содержит многократно сжатый файл. Откройте его с помощью Winrar

Мы видим, что один из zip-файлов содержит файлы size и CRC32, которые отличаются друг от друга, поэтому мы просто щелкаем по нему, чтобы открыть другую такую ​​же ситуацию. поэтому мы просто щелкаем по всем отличающимся zip-файлам, пока не дойдем до flag.txt.

Мы просто извлекаем файл flag.txt, но файл 2GB. Таким образом, его нельзя открыть ни в одном обычном текстовом редакторе, но HxD может открыть его, а затем прокрутить вниз, чтобы найти флажок.

Табло

Спасибо Wargames.my за конкурс и вопросы и спасибо моей команде H0j3n.

Полная запись от команды H0j3n

Запись s3ns3

Участник
- H0j3n (Linkedin, Twitter, Github)

- s3ns3 (Linkedin, Twitter, Github)