[Hacker101 CTF] – Ticketastic: Live Instance

Link soal: http://34.94.3.143/540b685c3c/

Diberikan soal sebagai berikut:

Langkah pertama yang kita lakukan adalah mencoba admin login dengan menggunakan id “admin” dan password “admin”. Akan tetapi, invalid password. Sehingga kita mencoba untuk melakukan admin login pada bagian Ticketastic: Demo Instance.

Kita berhasil masuk sebagai admin pada bagian Demo dan tampilannya adalah seperti ini

Kita mencoba untuk membuat user baru dengan id = “test” dan password = “test”. Setelah berhasil membuat user baru, kita mencoba untuk login dengan menggunakan credential user baru tersebut pada Live Instance dengan harapan 2 web ini menggunakan database yang sama.

Kita mencoba untuk login pada Live Instance dengan menggunakan credential yang telah kita buat sebelumnya dan ternyata …. invalid username. Jadi kedua website tersebut tidak menggunakan database yang sama.

Setelah itu kita mencoba untuk membuka bagian “Submit a ticket”, dan kita mencoba untuk memasukkan tag html dengan harapan tag html tersebut dijalankan oleh server. Kita mencobanya pada bagian Demo Instance terlebih dahulu, karena kita bisa masuk sebagai admin di Demo itu jadi kita bisa tau hasilnya gimana.

Setelah submit ticket, kita coba login lagi dan melihat apa yang ditampilkan oleh server.

Ternyata server memproses tag html yang telah kita input tadi..

Kita memikirkan cara untuk membuat user baru tapi tanpa masuk sebagai admin, karena kita juga ga bisa masuk jadi admin.. jadi yaa harus bypass 🙂

Sebelumnya, kita menggunakan bantuan burpsuite untuk mengetahui payload yang dikirim ke server ketika kita.

Kita mendapatkan “/newUser?username=test&password=test&password2=test”

Setelah itu, kita mencoba untuk submit ticket di Live Instance seperti ini

Dan kita berhasil submit. Lalu kita coba untuk melakukan login dengan id = “test” dan password = “test”

Kita masuk ke “Flag won’t work” dan kita mendapatkan flag pertamanya

Selanjutnya kita mencoba untuk mencari flag yang kedua. Setelah kita menemukan flag yang pertama, kita melihat pada link “34.94.3.143/540b685c3c/ticket?id=1”. Di sini kita mencoba untuk menambahkan petik pada akhir url tersebut.

Di sini kita bisa lihat bahwa ada vuln SQL injection. Kita menggunakan burpsuite lagi untuk mencoba SQLi. Kita bisa lihat bahwa server menggunakan 3 coulmn, sehingga kita coba untuk menambahkan ORDER BY 3 di belakang url dan server memberikan respon

Kita mencoba untuk mencaritau table-table yang digunakan oleh server

Akan tetapi, kita tidak mendapatkan apa yang kita inginkan. Kita mencoba untuk membuatnya dalam kondisi salah dengan menambahkan AND 1=2.

Karena hasilnya sangat banyak, kita menambahkan kondisi WHERE table_schema=database() –> ini untuk mendapatkan atau menampilkan table yang dimiliki oleh current database di mana nama database utama yang digunakan oleh web ini adalah tickets dan users

Kita mendapatkan table tickets dan users. Kita mencoba untuk mencaritau column dari table users

Setelah mendapatkan column dari table users (id, username, password), langkah selanjutnya yang kita lakukan adalah mencaritau value dari column-column tersebut

Final payload: /540b685c3c/ticket?id=1 AND 1=2 UNION SELECT id,username,password FROM users

Dan kita mendapatkan flag kedua

Leave a Reply

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