Без лишних предисловий перейдем к сути.
Шаг 1. Для удобства и упрощения работы преобразуем байтовую строку в hex-нотацию. Это можно сделать следующим образом:
В результате мы получим строку, с которой будем работать в дальнейшем:
2b7f74312a694b1c5b496f161a006f1a5953032b10004209
Шаг 2. Далее необходимо определить XOR-ключ. В данном случае ключ легко вычисляется, так как мы знаем формат флага: "CODEBY{". Переведем строку "CODEBY{" в hex-нотацию:
Для определения ключа мы будем использовать замечательный инструмент
XOR-ключ становится очевидным: это строка h00t, которая многократно повторяется. Переводим ключ в hex-нотацию:
Шаг 3. Снова воспользуемся Кибершефом. Все то же самое: вставляем зашифрованный флаг в поле Input, применяем рецепт "From Hex", а затем добавляем рецепт "XOR", где в поле "Key" вводим XOR-ключ. После выполнения этих шагов мы сможем увидеть расшифрованный флаг.
Рекомендую решить задачку самостоятельно, если вас интересует категория «crypto» и вы стремитесь развиваться в этом направлении.
Шаг 1. Для удобства и упрощения работы преобразуем байтовую строку в hex-нотацию. Это можно сделать следующим образом:
Python:
encrypted_flag = b'+\x7ft1*iK\x1c[Io\x16\x1a\x00o\x1aYS\x03+\x10\x00B\t'.hex()
print(encrypted_flag)
В результате мы получим строку, с которой будем работать в дальнейшем:
2b7f74312a694b1c5b496f161a006f1a5953032b10004209
Шаг 2. Далее необходимо определить XOR-ключ. В данном случае ключ легко вычисляется, так как мы знаем формат флага: "CODEBY{". Переведем строку "CODEBY{" в hex-нотацию:
Python:
partial_flag = b'CODEBY{'.hex()
print(partial_flag)
# Вывод: 434f444542597b
Для определения ключа мы будем использовать замечательный инструмент
Ссылка скрыта от гостей
. Вставляем зашифрованный флаг в поле Input. Сначала применяем рецепт "From Hex", а затем добавляем рецепт "XOR", где в поле "Key" вводим строку, полученную на шаге 2. Для тех, кто не совсем понимает, что происходит, поясню: в данном случае мы выполняем операцию XOR между строкой CODEBY{ и зашифрованным флагом, чтобы попытаться определить ключ шифрования.XOR-ключ становится очевидным: это строка h00t, которая многократно повторяется. Переводим ключ в hex-нотацию:
Python:
xor_key = b'h00t'.hex()
print(xor_key)
# Вывод: 68303074
Шаг 3. Снова воспользуемся Кибершефом. Все то же самое: вставляем зашифрованный флаг в поле Input, применяем рецепт "From Hex", а затем добавляем рецепт "XOR", где в поле "Key" вводим XOR-ключ. После выполнения этих шагов мы сможем увидеть расшифрованный флаг.
Рекомендую решить задачку самостоятельно, если вас интересует категория «crypto» и вы стремитесь развиваться в этом направлении.