[Imaginary CTF Round 12] – Password Recovery pt. 1

Diberikan sebuah mailbox file dari perusahaan Password Recovery Bernama “twister”, yang dimana di mailbox tersebut diberikan kumpulan password temporary (kurang lebih 315 buah) yang diberikan kepada para pelanggan yang berbentuk base64. Contoh: ‘UDHqGXxirKI=’, ‘Ps50YJ7v2hY=’, ‘dtIRdvmOKps=’, dll. Pada awal mail juga dicantumkan algoritma pembuatan password yang menggunakan module random dan fungsi getrandbits. Nah, lalu flagnya di […]

[Imaginary CTF Round 12] – Too Old

Codingan Soal: penjelasan soal: Soal ini menggunakan key yang digenerate random, lalu setiap karakter flag akan di xor dengan hasil key AND 255 dan ditambahkan ke output. Setelah itu, key akan dikuadratkan dan diambil 8 angka dari index ke-4 sampai 12 menjadi key baru. Keynya berkisaran 10000000 hingga 100000000, jika kita bruteforce satu per satu […]

[Imaginary CTF Round 12] – CaesarTart

Kita diberikan sebuah source code python yang digunakan untuk mengenkripsi sebuah pesan yang di dalamnya terdapat flag seperti petunjuk soal. Penjelasan Code: kita bisa melihat fungsi bernama Caesar, yang di mana sebuah karakter akan di-shift sesuai key yang dimasukkan dan hasilnya akan berbentuk kapital (uppercase). Lalu kita juga memiliki list Keys yang terdiri dari 5 […]

[redpwnCTF 2021] – yahtzee

Diberikan source code sebagai berikut : Jadi code diatas akan membaca quotes.txt dan ambil sebuah random quote. Di dalam quote tersebut terdapat flag, akan tetapi flag diletakkan diantara sebuah quote secara random. Jadi misalnya ada quote “ini quote 100”, maka flag bisa berada di “flag ini quote 100” atau “ini flag quote 100” atau “ini […]

[Qual Find-IT CTF] – Solvable Random

Codingan soal: import random,string decode_this = “MmypTSPBJ{q6k_e1s_q1Ld8I}”flag = “{Must be EZ}”enc_flag = “”random.seed(“FINDIT”)for c in flag:  if c.islower():      enc_flag += chr((ord(c)-ord(‘a’)+random.randrange(0,26))%26 + ord(‘a’))  elif c.isupper():      enc_flag += chr((ord(c)-ord(‘A’)+random.randrange(0,26))%26 + ord(‘A’))  elif c.isdigit():      enc_flag += chr((ord(c)-ord(‘0’)+random.randrange(0,10))%10 + ord(‘0’))  else:      enc_flag += cprint(“Randomize Flag: “+ enc_flag) Diberikan sebuah codingan […]

[ICHSA CTF 2021] – Baby Homework

Diberikan sebuah source code sebagai berikut : Dari source code diatas, kita tahu bahwa algoritma enkripsi menggunakan AES mode ECB.  Inputan user + FLAG akan dienkrip menggunakan algoritma tersebut. Oleh karena itu, pertama saya coba masukkan inputan A. Dari situ,kita dapat jumlah bytesnya adalah 64, sehingga kita bisa simpulkan jumlah karakter pada flag <= 31 […]

[S.H.E.L.L. CTF 2021] – PowerRSA

Diberikan script sebagai berikut : Melalui script diatas, kita tahu bahwa algoritma enkripsi menggunakan RSA. Disitu bilangan p dan q berdekatan, sehingga kita bisa menggunakan faktorisasi fermat untuk menemukan p dan q. Faktorisasi fermat berguna untuk mencari prime factors yang saling berdeketan dari sebuah bilangan ganjil N (karena bilangan ganjil * bilangan ganjil pasti bilangan […]

[S.H.E.L.L. CTF 2021] – Puny Factors

Diberikan source code sebagai berikut : Disitu kita tahu bahwa algoritma enkripsi menggunakan RSA. Selain itu, karena sudah tau nilai n, e, phi, dan d, kita bisa dengan mudah mendekripsinya. Pertama, kita coba connect ke server, dan kita dapet public key dengan format pem beserta ciphertextnya. Simpan public key dengan nama file pk.pem, dan kita […]

[FindIT-2021 Qualification] – Baby SHA

Diberikan sebuah python script untuk merubah setiap karakter dari flag menjadi SHA512, diubah ke hex, lalu diubah ke integer, dan di right shift dengan 256 bits. Diberikan juga output.txt yang merupakan hasil hashing. Karena kita tahu hashnya menggunakan sha512, maka kita hanya perlu brute force setiap karakternya, hingga karakter sama dengan array of list dari […]