Writeup CTFR Simpel Java Encryption

Khairu Aqsara Sudirman

Khairu Aqsara Sudirman

Mar 21, 2021 — 2 mins read

Sesuai judulnya, kita diharuskan membuat sebuah program java atau sejenisnya untuk mendekrip sebuah string yang dihasilkan oleh sebuah program java

public class MyClass {
    public static void main(String args[]) {
        String flag = "CSDOwe.o,V3maoukn*(e_0q\\c+*]76?|";
        String encrypt = "";
        for(int i = 0; i < flag.length(); i++) {
            if ((i % 10) == 0) { break; }
            if ((i & 2) == 0) { break; } encrypt += new Character((char)((int)flag.charAt(i) - (i % 10))).toString();
            if ((i * 5) == 0) { break; }
        } 
        System.out.println(encrypt);
    }
}

karena saya jarang-jarang menggunakan java, jadi saya menggunakan online java editor untuk membuat fungsi decryptnya, yang peling penting sebenarnya ada pada bagian

encrypt += new Character((char)((int)flag.charAt(i) - (i % 10))).toString();

jadi jika dibuatkan versi decodenya kira-kira bentuknya seperti ini

public class Decrypt{
     public static void main(String []args){
        String flag = "CSDOwe.o,V3maoukn*(e_0q\\c+*]76?|";
        String encrypt = "";
        for(int i = 0; i < flag.length(); i++) {
            encrypt += new Character((char)((int)flag.charAt(i) + (i % 10))).toString();
        }
        System.out.println(encrypt);
     }
}

atau jika dalam versi python

flag = "CSDOwe.o,V3maoukn*(e_0q\\c+*]76?|";
encrypt = "";
for i in range(len(flag)):
  encrypt+=chr(ord(flag[i]) + (i % 10))
print(encrypt)

Hasilnya

CTFR{j4v4_3ncrypt10n_1s_g00d???}
writeup ctf
Read More

Writeup CTFR So Much File

Challenge ini mengharuskan kita mencari flag dalam file txt yang jumlahnya banyak sekali, setiap satu file berisi satu karakter, misalna 0.txt berisi karakter C.

Read More

Writeup CTFR Nama-Nama Ikan

Diberikan sebuah service pada alamat 103.157.96.13 dengan port 7782, service tersebut memungkinkan kita untuk menginputkan nama-nama ikan, berdasarkan binary file dan source code yang diberikan, challenge ini terbilang cukup sulit, karena harus memanfaatkan fungsi plt untuk mendapatkan shell, jika dilihat dari source code yang diberikan