[Qual FindIT CTF 2021] – Monalisis

Diberikan sebuah file csv yang isinya banyak sekali angka-angka dari 1 hingga 200 sekian dengan ukuran baris*kolom sebesar 840×370. Kami berasumsi bahwa kumpulan angka-angka ini membentuk sebuah gambar. Kami mencoba menggunakan online tools csv to jpg converter (https://convertio.co/csv-jpg/), dan mendapat hasil seperti ini.

Terlihat bukan? Rupanya angka-angka tersebut ketika dilihat dari jauh akan membentuk gambar monalisa, dan di tengahnya terdapat flag yang dicari. Namun kalau seperti ini ada beberapa bagian yang kurang terlihat karena warnanya menyatu dengan gambar monalisa. Mari telusuri lebih dalam dengan men-zoom in gambar tersebut.

Ketika diperhatikan, angka yang menyusun seluruh kalimat flagnya adalah bilangan 237, sehingga untuk melihatnya lebih jelas kita bisa menggunakan script python sederhana untuk membuat PNG baru dengan memberi warna hitam jika ia membaca data bernilai 237. Jadi dengan menggunakan script seperti ini:

import csv
from PIL import Image

im = Image.new(“RGB”, (840,370)) #dimensi dari jumlah baris&kolom pada csv
file = open(‘monalisis.csv’, ‘r’)
reader = csv.reader(file)

rgblist = []
for row in reader:
    for data in row:
      # print(type(data))
      if data==”237″:
        rgb = (0, 0 , 0) #ke hitam
        rgblist.append(rgb)
      else:
        rgb = (255, 255 , 255) #ke putih
        rgblist.append(rgb)

im.putdata(rgblist)
im.save(“scannan.png”)

dan ketika kita jalankan, akan menghasilkan output file png seperti ini:

Flag:

FindITCTF{1S1s_1s_lYF3}

Published
Categorized as Misc

Leave a comment

Your email address will not be published. Required fields are marked *