[INDOSECURITY2019] – Browsing Browsing

Notes:

Sebelum membedah soal ini ada baiknya memahami tools curl, karena saya menggunakan tools ini untuk menyelesaikan soal ini. Saya menggunakan curl karena menurut saya curl cukup mudah digunakan untuk soal-soal yang membutuhkan perubahan seperti pada soal ini (user-agent, header, dan port).

Diberikan sebuah website http://203.201.167.78:9999/ yang berisikan tulisan [Use-INDOSECURITY2019-For-U].

Dari clue yang diberikan, hal yang saya pikirkan adalah user-agent. Mengapa? Karena dari soal tersebut terdapat kata “use” yang menurut saya mengacu pada penggunaan user-agent.

User-agent merupakan pengenalan identitas kita (OS, browser, dan device) terhadap server.

sehingga saya mencoba untuk mengakses website tersebut dengan user-agent “INDOSECURITY2019 For U”. Namun, output yang dihasilkan sama seperti sebelumnya. Setelah itu, saya mencoba untuk melakukan copy-paste kata yang ada dalam kurung menjadi user-agent. Sehingga user-agent sekarang adalah “Use-INDOSECURITY2019-For-U”

Sehingga payload yang dibuat: curl -A “Use-INDOSECURITY2019-For-U” http://203.201.167.78:9999/

Berhasil, kita melewati tahap pertama dari soal ini. Setelah itu, muncul petunjuk baru yaitu “only for client local”. Dari petunjuk baru ini, kita diharuskan mengakses website tersebut sebagai local client. Kita sering mendengar kata proxy bukan? Proxy merupakan suatu server atau program yang berfungsi untuk menjembatani request yang kita berikan kepada server. Jadi request yang sebenarnya berasal dari kita, akan dibaca oleh server sebagai request yang diminta oleh proxy.

X-Forwarded-For ini merupakan header khusus yang jarang ditemukan. Karena X-Forwarded-For ini hanya ada ketika kita mengakses sebuah server menggunakan proxy HTTP.

Hint penting yang dapat kita ambil adalah “for client local” dimana proxy yang kita buat harus merupakan local client dari proxy HTTP. Di sini kita menggunakan akses dengan IP 127.0.0.1. Pada IPv4 127.0.0.1 merupakan alamat default localhost. Sehingga ketika kita memberikan IP tersebut sebagai proxy akan dikenali oleh server sebagai local client.

Sehingga payload kita berubah menjadi : curl -A “Use-INDOSECURITY2019-For-U” –header “X-Forwarded-For: 127.0.0.1” http://203.201.167.78:9999/

Kita kembali berhasil melewati tahap kedua. Kita kembali menemukan petunjuk baru, yaitu “only port 6666”. Dari sini kita dapat menarik kesimpulan bahwa port yang kita akses adalah port 6666. Karena pada website soal terdapat port 9999(akses yang diberikan oleh soal) maka kita tidak dapat menggantinya. Sehingga, kita harus menggunakan fungsi curl untuk mengakses port 6666.

Sehingga payload kita berubah menjadi : curl -A “Use-INDOSECURITY2019-For-U” –header “X-Forwarded-For: 127.0.0.1” –local-port “6666” http://203.201.167.78:9999/

Berhasil, kita telah melewati semua tingkatan security dalam soal ini.

Flag : ISCC2019{Saya-Pastikan-Pasti!!!}

Leave a Reply

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