Tampilkan postingan dengan label Web. Tampilkan semua postingan
Tampilkan postingan dengan label Web. Tampilkan semua postingan

Minggu, 07 Juli 2019

Write Up IndoSecurity Ctf 2019 -Number Betting-

Assalamualaikum, teman-teman. Lanjut write up untuk soal terakhir yang bisa aku solve :""" dari indosecurity ctf 2019, kategori soalnya web (lagi).

Langsung saja, kita diberikan sebuah halaman web yang isinya seperti berikut


Jadi cara kerja web tersebut adalah kita meng-generate sebuah angka random, kemudian hasilnya dibandingkan dengan nilai yang ada di server, nilai servernya juga random. Nah, kalau misal secara kebetulan nilai punya kita dan server sama hasilnya akan seperti ini


Dapet potongan flag, tapi cuma formatnya doang sih kalo itu :3
Setelah itu, coba tamper requestnya pake burp suite, lalu action send to repeater, hasilnya seperti ini


Hmm, sama aja. ngga ada yang terlihat menarik. Lalu coba lihat source code halamanya. Nah, ketemu sesuatu yang menarik. Ada file backup dari APInya.


Langsung coba akses ke situ, dan ternyata file backup terunduh. Sekarang kita coba analisa (sok-sokan aja sih :v) APInya, isinya kurang lebih seperti ini


Hmm, jika diliat dibagian atas terlihat bahwa nilai dari server adalah nilai random yang berada di range antara nilai tebakan dan nilai tebakan dikali 2. Kemudian jika ingin menampilkan flag maka nilai dari tebakan harus lebih besak daripada server, nah caranya gimana coba? :3

Nah, disini saya berpikir karena nilainya randomnya itu dalam bentuk integer (ya, karena ada tulisan int di fungsi random :3) maka dia hanya mengambil nilai bilangan bulat saja, bukan bilangan desimal. Paham kan? :v Jadi misal kita masukin nilai 0.1 yang dibaca itu cuma 0, 1 nya ngga dibaca. Kalo gitukan berarti nilai 0.1 > 0 kan? Langsung coba aja deh masukin nilainya.


Tadaaa, ternyata benar sesuai analisaku (mungkin sih :v) muncul flagnya. Yeay :D

Final flag : ISCC2019{Anyway_Beware_OF_==_in_PHP_They_are_Like_KpopWomen_Cute_But_Tricky}

Nb: Sebenernya penulis ngga yakin kenapa flagnya bisa muncul. Bagi yang lebih paham mungkin bisa tinggalkan komen dibawah ya. Terima Kasih :)


Share:

Write Up IndoSecurity Ctf 2019 -Tap tap tap-

Assalamualaikum, teman-teman. Masih lanjut write up untuk soal dari indosecurity ctf 2019 kali ini soalnya kategori web.

Langsung saja, kita diberikan sebuah halaman web yang isinya seperti berikut


Saya coba mengisi formnya kemudian mencoba klik submit dan cuma muncul tulisan Salah!
Hmm, menarik. Kemudian saya coba tamper requestnya menggunakan burp suite lalu pilih action send to repeater. Klik Go dan dari response muncul ada tulisan Hint!


Hint : [Get-flag] [IndoSecurity] fast, fast and fast

hm, mulai berpikir sejenak. Ah! mungkin maksudnya parameter IndoSecurity diisi dengan value dari Get-flag. Tapi sebelum itu sepertinya value dari Get-flag di encode menggunakan base64, maka kita decode dulu buat dapet nilai aslinya


Oke, sudah dapat nilai aslinya. Masukin nilai itu ke parameter IndoSecurity dan Klik Go lagi. Lalu hasilnya muncul seperti ini



Hm, seperti sudah bener. Tapi harus lebih cepat lagi masukin nilainya. Hmm, aku coba klik Go lagi dan ternyata nilai Get-flagnya ganti lagi :3


Haduu, kalo harus decode dan masukin nilainya lagi secara manual ngga bakal bisa lebih cepet lagi dong :3 Jadi sekarang kita coba bikin script untuk melakukan request ke server yang secara otomatis mengambil nilai dari Get-flag kemudian men-decodenya lalu memasukkannya ke parameter IndoSecurity. :D

Oke, disini aku pake python untuk bikin script request sederhana ke server yang isinya kurang lebih seperti ini


Nah, simple kan? Silahkan pahami sendiri fungsi setiap barisnya :v
Langsung aja kita jalankan script pythonnya, tunggu sejenak dan Taaadaaaa :D


Muncul flagnya :D

Final flag :  ISCC2019{d55198561eac5c7a8c5bf202a8ebe29f}
Share: