[Hacker101] – Micro-CMS v2

Difficulty: Moderate(3/flag)

Note: Diharapkan mengerti menggunakan curl dan burp sebelum membaca writeup ini. Curl terutama pada fungsi -X dan Burp suite untuk intruder attack bruteforce.

Diberikan sebuah website

Dengan petunjuk untuk flag pertama

Ketika kita membuka create new page, akan muncul halaman user input.

Ketika kita memasukkan kutip 1 (‘) ke dalam username, website akan memberikan kita error SQL. Sehingga, kita harus melakukan SQLi dalam soal ini.

Dari petunjuk yang kita punya dari hacker101, kita diberitahukan bahwa ada jalan yang lebih mudah daripada mengetahui password. Saya mencoba menggunakan command as untuk mengubah isi password menjadi “1”.

Payload : ‘union select ‘1’ as password#

Payload tersebut berhasil memberikkan akses website tersebut kepada kita. Terdapat 1 link baru di home page. Ketika dibuka, muncul flag pertama yang kita cari.

Flag : ^FLAG^503754d3cee5ceaac917620f065c75f678903682417ad575d2bdc2cdb320bf9a$FLAG$

Hint untuk flag kedua

Dari hint hacker101, kita harus mencari action yang tidak dapat dilakukan oleh regular user. Dari page 1 website soal tersebut, untuk melakukan edit kita harus menjadi admin.

Dari hint yang lain kita diharuskan untuk mengubah method yang digunakan oleh website tersebut. Pada website ini, method yang digunakan adalah GET. Sehingga, kita harus mengubah method GET tersebut.

Saya mencoba mengubah GET method website ini menjadi POST method menggunakan curl. Muncul flag dari pengubahan method tersebut.

Payload : curl -X POST http://35.227.24.107/28289cd9a5/page/edit/1.

Flag : ^FLAG^738345d69bae12b74bf83ecf49c1d4922c3e8eb932669205db9e823544290f3d$FLAG$

Hint untuk flag terakhir

Petunjuk ini sangat membingungkan, menurut saya petunjuk ini ingin memberitahukan bahwa untuk mendapatkan flagnya kita membutuhkan credentials yang benar. Sehingga, saya melakukan bruteforce SQLi untuk mengetahui username dan password yang ada. Pertama saya melakukan pengecekan terhadap panjang username dan password dari database dengan menggunakan burp suite. Hal ini dilakukan agar kita dapat mengetahui kapan untuk berhenti.

Untuk username:

kita mendapatkan 7 kombinasi.

Untuk password:

Kita mendapatkan 6 kombinasi.

Setelah kita mengetahui panjang username dan password, kita mulai melakukan bruteforce terhadap isi username dan password.

Untuk username:

Saya melakukan bruteforce seperti gambar diatas hingga menemukan 7 kombinasi yang ada yaitu, preston.

Untuk password:

Sama seperti username, saya melakukan bruteforce hingga mendapatkan 6 kombinasi yaitu, erasmo.

Setelah mendapatkan username dan password dari hasil bruteforce diatas, saya melakukan login dengan credential tersebut. Muncul flag ketika kita melakukan login dengan credential preston.

Flag : ^FLAG^dc4cebf0d86b22104d229755f32142975a168697507c880809ff5485de3a6973$FLAG$

Leave a Reply

Your email address will not be published. Required fields are marked *