Idsecconf CTF 2016 : Kopi - 50

by Abdillah Muhamad — on  , 

cover-image

Problem :

http://128.199.96.39/

Solusi :

Pertama kita decompile file .class dengan java decompiler. bisa online atau offline (jd-gui).

Setelah kita dapat sourcenya kita analisa fungsi checkPassword ternyata file binary ini meminta inputan deretan Fibbonaci dengan pemisah ‘-‘

final String[] split = s.split("-");

dan di fungsi checkPassword ada beberapa pengecekan deretan fibbonaci jadi jika yang kita input bukan deretan fibbonaci maka akan mengasilkan return False.

di ketahui juga tiap buffer dikurangi dengan index fibbonaci yang kita inputkan buff[w] -= stack2.pop();

contoh nya ex : 103-1 = 102(f), 109-1 = 108(l)

import subprocess
import os
def fib_to(n):
     fibs = [1, 1]
     for i in range(2, n+1):
         fibs.append(fibs[-1] + fibs[-2])
     return fibs

for x in range(1,20):
     fibs = fib_to(x)
     separator = '-'.join(str(fib) for fib in fibs)
     act = os.system('java Kopi {}'.format(separator))

Kopi Flag

Flag : flag{ILikeJavainCTF}

Comments