Writeup Aria
00_Introduction

Great Snakes

Desc

Kriptografi modern sering dikerjakan dengan bantuan kode, terutama untuk decoding, manipulasi byte, dan otomasi serangan. Karena itu, CryptoHack banyak memakai Python sebagai bahasa utama untuk menyelesaikan challenge.

Python 3 cocok dipakai karena sintaksnya ringkas, punya banyak library kriptografi, dan mudah dipakai untuk mengubah data dari satu bentuk ke bentuk lain. Pada challenge ini, kita diminta menjalankan script Python yang sudah disediakan.

Script tersebut berisi list angka, lalu setiap angka di-XOR dengan nilai 0x32. Hasil XOR diubah menjadi karakter memakai chr(), kemudian digabung menjadi flag.

Attachment

#!/usr/bin/env python3

import sys
# import this

if sys.version_info.major == 2:
    print("You are running Python 2, which is no longer supported. Please update to Python 3.")

ords = [81, 64, 75, 66, 70, 93, 73, 72, 1, 92, 109, 2, 84, 109, 66, 75, 70, 90, 2, 92, 79]

print("Here is your flag:")
print("".join(chr(o ^ 0x32) for o in ords))

Solution

Download script dari attachment, lalu jalankan dengan Python 3.

wget https://cryptohack.org/static/challenges/great_snakes_35381fca29d68d8f3f25c9fa0a9026fb.py -O great_snakes.py

python3 great_snakes.py
# Here is your flag:
# crypto{z3n_0f_pyth0n}

Di dalam script, ords adalah list angka ordinal. Ekspresi o ^ 0x32 melakukan operasi XOR antara setiap angka dan kunci 0x32, sedangkan chr() mengubah angka hasil XOR menjadi karakter. Terakhir, "".join(...) menyatukan semua karakter menjadi satu string flag.

Summary

Challenge ini memperkenalkan workflow dasar CryptoHack: ambil script, baca transformasi datanya, lalu jalankan atau modifikasi Python untuk mendapatkan flag. Fungsi penting yang dipakai adalah chr() untuk mengubah integer menjadi karakter dan operator ^ untuk XOR.

Flag

crypto{z3n_0f_pyth0n}

On this page