Penyelesaian Untuk Web 'Simple' Challenges
Pra Kata
Sebelumnya terima kasih buat slashroot ctf karena tanpa slashroot ctf mungkin saya tidak bisa memprovide challenges ini melalui dewaweb.com, Terima kasih buat teman-teman yang sudah meluangkan waktunya untuk challenges ‘simple’ ini,
Kata
clue “recon, tools, sign-in, submit”
recon ini sangat mudah, sebenarnya tidak perlu menggunakan tools atau scanner, banyak kok website yang masih menyimpan sesuatu yang penting itu pada comment html
terlihat jelas ada info bahwa git repositori (/.git/) dipindahkan pada direktori /git/ kita coba akses dulu
namun ketika diakses server menampilkan halaman forbidden, namun belum berarti file atau direktori yang diakses tidak ada, jika tidak ada maka respon yang diberikan seharusnya adalah 404 Not Found
karena web server yang digunakan oleh ini adalah litespeed maka defaultnya directory listing pada web server dimatikan sama seperti web server sebelah (baca: ya itulah nging nginx), kita cek apakah benar git repo ada pada direktori tersebut?, temen-temen pasti hafal bagaimana struktur file yang pasti ada pada folder git repo, yup bener, pasti ada
- /git/config
- /git/description
- /git/HEAD
- dsb
lalu kita coba request salah satu file common yang ada pada direktori git
dan ternyata benar, muncul pop up confirm download file config dari isi direktori git
Yeay git repo memang berada pada direktori tersebut.
Karena kita tidak bisa melihat isi direktori dan terlalu menyusahkan untuk merequest satu per satu file yang ada pada git repository (ya meski ada salah satu player yang melakukan request secara auto manual), maka dari itu kita menggunakan tool dvcs-ripper (baca: cara dump exposed git repository)
tunggu sampai dump file git-nya selesai
Dan kita berhasil mengambil source code pada web tersebut
ternyata ada commit login function
Ternyata ada file login.php pada folder admin, jadi requestnya seperti ke challshl.com/admin/login.php, Waktunya baca-baca bad kode
ternyata ada dua jenis post data yang diambil yaitu sign-in, dan sign-up.
isi file login.php
karena pengecekan hanya post signin atau signup, kita rubah aja input data kita yang semula signin menjadi signup
submit dan seharusnya kita dapat pop-up berhasil mendaftar namun tidak muncul (it’s okay), langsung saja kita coba untuk login dengan data username dan password yang sudah kita set sebelumnya
logged in :3
Kita berhasil masuk, dan klik submit maka nickname username kita telah masuk ke solver list
Pasca-Kata
Side story: challenges berdasarkan SVWA, yang dilakukan perubahan oleh beberapa teman saya, ketika sedang memaintenis kode yang telah dirubah, terlihat sedikit kejanggalan yaitu form sign-up telah dihapus yang hanya meninggalkan form sign-in namun fungsi untuk sign-up masih ada dan karena penasaran saya coba untuk melakukan eksploitasi dan berhasil, maka dari itu jadilah challenges ini, thanks berad untuk @Ytyao yang berhasil first blood dan mengingatkan tentang EAR (Execution After Redirect) yang ada pada /admin/ dan
Korea, [20.12.18 06:50]
ngoding jangan pakai perasaan
ngarai
pekok,
ngae logika
perasaan iki kadang jare sayang yo ra sayang :v
See you on next challenges
- Fin