ARA CTF 2021 [Write-up]
ARACTF 2021
HMIT ITS mengadakan event dengan berbagai cabang lomba, salah satunya Cybersecurity yang dilaksanakan pada tanggal 6-7 Maret 2021 (untuk kategori Cybersecurity). Berikut adalah writeup dari soal web exploitation yang berhasil saya solve.
Web Exploitation
Home
Diberikan sebuah website dan katanya didalamnya terdapat flag yang disembunyikan :
Sesuai dengan apa yang ditampilkan di web tersebut, karna IP kita ditolak kemungkinan hanya IP lokal yang diterima oleh server, maka tambahkan “X-Forwarded-For” pada header request untuk mem-bypass filter IP nya :
Dilihat dari response yang didapatkan, disitu terdapat sebuah page yang berisi gambar (images/home.jpg) dan 3 tombol yang di proses oleh select.php dan mengarah ke :
Kitchen > room=kitchen.php
Living Room > room=livingroom.php
Bedroom > room=bedroom.php
Cek satu persatu isinya, dan berikut response dari kitchen.php :
Ternyata kita langsung diberikan flag, namun hanya potongan pertama ($flag1), asumsi saya potongan flag sisanya ada di livingroom.php dan bedroom.php Berikut response dari livingroom.php :
“Something hidden in this PAGE”, awalnya saya belum mengerti apa maksudnya jadi saya lewati ke bedroom.php :
Kita diberi petunjuk bahwa flag terakhir ada di /etc/flag3.txt, saya asumsikan web ini vuln terhadap LFI. Selanjutnya kita cek dulu source php yang ada di bedroom.php menggunakan php://filter pada parameter room yang ada di select.php tadi :
saya berhasil mendapatkan potongan flag yang ke2, maka sejauh ini flag nya :
ara2021{127.0.0.1_Is_ wH3re_0uR_
Selanjutnya sesuai dengan petunjuk yang diberikan di bedroom.php tadi, bahwa flag terakhir ada di /etc/flag3.txt :
saya mendapatkan pesan error berupa :
Warning include(php://filter/convert.base64-encode/resource=/etc/flag3.): Failed to open stream: operation failed in <b>/var/www/html/select.php</b> on line <b>27
setelah dianalisis ternyata “txt” dari “flag3.txt” telah difilter, jadi tujuan saya sekarang untuk melewati filter tersebut dengan payload berikut :
php://filter/convert.base64-encode/resource=/etc/flag3.ttxtxtxtt
Yang nantinya akan dibaca sebagai /etc/flag3.txt pada server
Dan semua potongan flag pun telah didapatkan.
Flag : ara2021{127.0.0.1_Is_ wH3re_0uR_ St0rY_B3Gins}
Oven
Diberikan sebuah website dan sourcecode nya
Setelah menganalisis kode tersebut, untuk mendapatkan flag kita harus melewati beberapa pengecekan.
Token berada di cookie bake_here, berikut hasil decode nya :
Kita harus meng-craft token dengan username = admin, password > len \$pass_verif, dan mempunyai hasil hash sha256 yang sama dengan \$pass_verif
Karena adanya pengecekan panjang password, maka kita tdk bisa menggunakan string yang ada pada $pass_verif untuk melewatinya
Setelah melakukan research, saya menemukan magic hash sha256 nya dan saya craft tokennya seperti berikut :
O:5:"Token":2:{s:8:"username";s:5:"admin";s:8:"password";s:14:"34250003024812";}
Tzo1OiJUb2tlbiI6Mjp7czo4OiJ1c2VybmFtZSI7czo1OiJhZG1pbiI7czo4OiJwYXNzd29yZCI7czoxNDoiMzQyNTAwMDMwMjQ4MTIiO30=
Buat request menggunakan token tersebut dan didapatkan flagnya :
Flag : ara2021{cl4551c_typ3_ju66ling}
Not Secure
Diberikan sebuah web berikut tampilannya :
Karna tidak ada apapun disana maka tujuan saya adalah untuk scan service, direktori dan mencari informasi sebanyak2nya pada web tersebut ,berikut hasil scan menggunakan nmap :
Terdapat ssl-cert yang muncul, lalu saya inisiatif untuk cek web yang tertera di organizationName tersebut :
Dan ternyata flagnya ada disana.
Flag : ara2021{p3nt1n6nya53rt1vik4sih}
Soal web exploitation pada kompetisi ini hanya 3 soal, write-up soal yang lain oleh tim kami bisa di cek disini.