Writeup CTFR Find Key

Khairu Aqsara Sudirman

Khairu Aqsara Sudirman

Apr 04, 2021 — 2 mins read

Diberikan sebuah link website yang hanya menyediakan dua button yaitu get new key dan calulate, setiap button get new key di klik akan diberikan deretan angka dalam bentuk array yang keliatan seperti random number, menurut deskripsinya jika mengetahui cara kerja bagaimana key nya dibuat maka angka tersebut akan dapat dideskripsikan menjadi flag. berdasarkan petunjuk yang diberikan cookie pada website ada kaitanya dengan proses pembuatan keynya.

[185170944,185170961,185170947,185170959,185171000,185170993,185170981,185170928,185170992,
185170928,185170972,185170984,185170928,185170998,185170972,185170929,185170991,185170928,
185170972,185170992,185170929,185170986,185170928,185170972,185170996,185170929,185170998,
185170972,185170996,185170926,185170993,185170981,185170972,185170928,185170987,185170976,
185170991,185170998,185170989,185170993,185170926,185170925,185170987,185171002,]

setelah mencoba beberapa saat, saya mendapatkan petunjuk jika angka pada deretan pertama jika dikurangi dengan ordinal sebuah karakter dan hasilnya sama dengan 527 maka ordinal karakter tersebut merupakan karakter flag, ini saya dapatkan setelah mencoba beberapa deretan angka pada array yang jika dikurangi dengan ordinal sebuah karakter dan hasilnya disusun akan mendapatkan karakter CTFR, tetapi ini hanya berlaku dengan nilai key

b4a1bf6ec700013f66f347e34f4736b99bb9e54ef4a0f1917bd7d9dc0203b9a1

Dan nilai hasil calculate

[594,611,597,609,650,643,631,578,642,578,622,634,578,648,622,579,641,578,622,642,
579,636,578,622,646,579,648,622,646,576,643,631,622,578,637,626,641,648,639,643,576,575,637,652,]

saya mencoba pada deretan array dengan key yang berbeda hasilnya tidak ditemukan. dengan bantuan program python sederhana untuk melakukan kalkulasi tersebut

p=[594,611,597,609,650,643,631,578,642,578,622,634,578,648,622,579,641,578,622,642,579,636,578,622,
646,579,648,622,646,576,643,631,622,578,637,626,641,648,639,643,576,575,637,652]
flag=''
for x in p:
  for i in range(48128):
    if x - i == 527:
      flag+=chr(i)
      break
print(flag)

dan Hasilnya adalah

CTFR{th3s3_k3y_4r3_s4m3_w4y_w1th_3ncrypt10n}

Terus terang saya tidak mengetahui cara keynya dibuat, tetapi menurut saya selama challenge nya dapat diselesaikan itu tidak menjadi masalah.

writeup ctf Web Exploitation
Read More

Writeup CTFR Input Berhadiah

Diberikan sebuah service dengan alamat 103.157.96.13 pada port 7790, dimana setiap kita menginputkan sesuatu response dari server dalam bentuk ter-enkripsi. disini kita harus mencari tau maksud dari respon tersebut. Untuk dapat menyelesaikan challenge ini, dibutuhkkan beberapa informasi dasar, seperti bentuk respons nya, panjang respon dan jenis enkripsi yang digunakan.

Read More

Writeup CTFR R3verse Python

Dari Opcode tersebut terdapat 3 buah fungsi, yaitu CreateKey, Decrypt dan Encrypt, sebenarnya cukup fokus kebagian fungsi Decrypt aja, karena bagian ini yang akan digunakan untuk melakukan decrypt dari file yang di enkrip, jika diterjemahkan kedalam versi python kira-kira bentuk fungsi Decrypt seperti berikut