Sabtu, 13 Desember 2025

Berkenalan dengan PHP 8.1.0-dev - 'User-Agentt' Remote Code Execution

Analis Siber Purwakarta - Admin. Agent T TryHackMe CTF Room, merupakan sebuah room CTF yang bertujuan untuk mengeksplorasi kerentanan yang terdapat pada sebuah situs dashboard admin. Room ini hanya terdiri dari satu buah flag, dimana kita sebagai pemain bertujuan untuk mengcapture flag tersebut.

Pertama, kita akan mencoba mengcapture request dari halaman utama dashboard admin situs ini, dan mengidentifikasi apa saja yang dapat dijadikan sebuah landasan untuk mengeksploitasi kerentanan dari dashboard admin ini.

HTTP Request dan Response yang dicapture dari halaman awal dashboard admin
Sumber: Dokumentasi Penulis

Untuk HTTP Request dari halaman ini tidak ada yang bisa kita identifikasi untuk mengeksplotasi kerentnan, namun bila kita perhatikan HTTP Response dari khususnya pada bagian X-Powered By Header diketahui bahwa website ini menggunakan PHP 8.10-dev. PHP 8.10-dev merupakan sebuah versi PHP yang masih dalam tahap pengembangan sehingga terdapat beberapa kemungkinan kerentanan-kerentanan yang dapat dieksploitasi.

Bila kita berkunjung pada situs Exploit DB kita dapat mengetahui bahwa versi dari PHP ini memiliki kerentanan Remote Code Execution  (RCE), yang artinya peretas dapat mengeksekusi sebuah perintah pada sistem target tanpa memerlukan akses langsung ke server. 

Uji Coba RCE pada Dashboard Admin situs
Sumber: Dokumentasi penulis

Sebagai praktik, kita dapat mengunduh sebuah script Python yang disediakan oleh Exploit DB untuk melakukan eksploitasi Remote Code Execution (RCE). Berdasarkan hasil pengujian, eksploitasi tersebut berhasil dilakukan pada situs target. Dengan demikian, flag dari CTF ini berhasil diperoleh dan dapat digunakan sebagai solusi untuk menyelesaikan room tersebut.

Senin, 08 Desember 2025

Berkenalan dengan encoding klasik, c4ptur3-th3-fl4g TryHackMe Task 1

Analis Siber Purwakarta - Admin. c4ptur3-th3-fl4g merupakan salah satu dari room yang disediakan oleh TryHackMe sebuah platform yang menyediakan tempat pelatihan cyber security. Room ini terdiri dari empat task, pada task pertama peserta akan mempelajari dan mempraktikkan proses encoding terhadap beberapa kalimat yang telah disamarkan menggunakan berbagai jenis metode encoding. Beberapa alat seperti CyberChef, dan atau Decimal to Text dapat membantu dalam mengerjakan tugas ini.

Kalimat pertama yakni:

c4n y0u c4p7u23 7h3 f149?

Tidak ada yang tantangan dari encoding ini, solusinya ganti angka dengan huruf yang sesuai sehingga menghasilkan kalimat:

can you capture the flag.

Kalimat kedua:

01101100 01100101 01110100 01110011 00100000 01110100 01110010 01111001 00100000 01110011 01101111 01101101 01100101 00100000 01100010 01101001 01101110 01100001 01110010 01111001 00100000 01101111 01110101 01110100 00100001

Kalimat ini disamarkan menggunakan teknik binary encoding, yaitu teknik merepresentasikan karakter dalam bentuk binary encoding. Adapun hasil dari decoding kalimat ini adalah:

lets try some binary out!

Kalimat ketiga: 

MJQXGZJTGIQGS4ZAON2XAZLSEBRW63LNN5XCA2LOEBBVIRRHOM======

Kalimat ini disamarkan menggunakan teknik Base32, yaitu metode binary-to-text encoding yang berbasis sistem bilangan 32. Hasil decoding dari kalimat yang disamarkan tersebut yaitu:

base32 is super common in CTF's

Kalimat keempat:

RWFjaCBCYXNlNjQgZGlnaXQgcmVwcmVzZW50cyBleGFjdGx5IDYgYml0cyBvZiBkYXRhLg==

Masih sama seperti kalimat ketiga, kalimat ini menggunakan metode penyamaran binary-to-text encoding. Perbedaannya adalah penggunaan teknik Base64, yaitu penyandian yang menggunakan skema representasi 64 karakter. Hasil decoding dari kalimat tersebut adalah:

Each Base64 digit represents exactly 6 bits of data.

Kalimat kelima:

68 65 78 61 64 65 63 69 6d 61 6c 20 6f 72 20 62 61 73 65 31 36 3f

Pada kalimat ini, teknik penyamaran menggunakan teknik Base16. Hasil decoding dari kalimat tersebut adalah: 

hexadecimal or base16?

Kalimat keenam:

Ebgngr zr 13 cynprf!

Berbeda dengan sebelumnya, teknik penyamaran yang digunakan pada kalimat ini adalah ROT13. ROT13 (Rotate 13) merupakan teknik penyandian yang melakukan substitusi huruf dengan huruf ke-13 berikutnya dalam alfabet. Hasil decoding dari kalimat tersebut adalah:

Rotate me 13 places!

Kalimat ketujuh:

*@F DA:? >6 C:89E C@F?5 323J C:89E C@F?5 Wcf E:>6DX

Kalimat ini menggunakan teknik penyamaran ROT47. Perbedaannya dengan ROT13 adalah bahwa ROT47 merupakan pengembangan dari ROT13 yang mampu menyamarkan tidak hanya huruf, tetapi juga angka dan simbol umum. ROT47 menggunakan himpunan karakter ASCII yang dapat dicetak dalam proses penyandiannya. Hasil decoding dari kalimat tersebut adalah:

You spin me right round baby right round (47 times)

Kalimat kedelapan:

- . .-.. . -.-. --- -- -- ..- -. .. -.-. .- - .. --- -.

. -. -.-. --- -.. .. -. --.

Kalimat ini menggunakan teknik sandi Morse. Sandi Morse sendiri merupakan teknik penyamaran telekomunikasi yang mengubah teks menjadi dua sinyal yang berbeda yaitu, dits, dan dash. Hasil decoding dari kalimat tersebut adalah:

telecommunication encoding

Kalimat kesembilan:

85 110 112 97 99 107 32 116 104 105 115 32 66 67 68

Kalimat ini menggunakan teknik binary coded decimal. Hasil dari decoding kalimat tersebut adalah:

Unpack this BCD

Kalimat kesepuluh:

LS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0=

Kalimat ini terdiri dari beberapa teknik penyamaran, kita dapat menggunakan alat seperti Cyberchef untuk mempermudah analisa. Teknik penyamaran pertama yang diketahui adalah:

  1. Base64;
  2. Sandi Morse;
  3. ROT47; dan
  4. Binary Coded Decimal

Menggunakan CyberChef untuk membedah kalimat yang disamarkan
Sumber: Dokumentasi Penulis

Adapun hasil akhirnya adalah:

Let's make this a bit trickier...

Referensi

  1. https://en.wikipedia.org/wiki/Binary-to-text_encoding
  2. https://en.wikipedia.org/wiki/Base32
  3. https://en.wikipedia.org/wiki/Base64
  4. https://en.wikipedia.org/wiki/Hexadecimal#Base16
  5. https://en.wikipedia.org/wiki/ROT13
  6. https://en.wikipedia.org/wiki/Morse_code
  7. https://en.wikipedia.org/wiki/Binary-coded_decimal


Senin, 01 Desember 2025

Pentingnya Menambahkan Otorisasi dan Otentikasi Dalam Pengembangan Sistem Aplikasi

Analis Siber Purwakarta - Admin. Perancangan dan pembangunan sebuah sistem aplikasi memerlukan suatu manajemen pengelolaan data yang dapat menjamin kerahasiaan data milik penggunanya. Dalam ranah kemanan siber terdapat konsep tiga serangkai CIA, berdasarkan pemaparan dari OWASP Foundation (2016), konsep tiga serangkai CIA merupakan sebuah konsep yang terdiri dari:

  1. Confidentaly atau Keamanan Data;
  2. Integrity atau Keutuhan Data, dan;
  3. Availability atau Ketersediaan Data.

Konsep ini tidak dapat dipisahkan karena konsep ini merupakan fondasi dari keamanan suatu sistem aplikasi dan ketiga istilah tadi saling berhubungan satu dengan lainnya. Konsep ini seringnya juga diperpanjang oleh Otorisasi (Authorization), Otentikasi (Authentication), dan Auditing. Perpanjangan konsep ini dikarenakan Otorisasi dan Otentikasi akan saling melengkapi konsep tersebut, sedangkan Auditing memiliki fungsi untuk menyediakan kepastian berupa bukti interaksi pada sebuah sistem aplikasi .

Sebagaimana dikutip dari OWASP Foundation (2016), Otorisasi dan Otentikasi merupakan dua hal yang berbeda, sederhananya Otorisasi merupakan mekanisme pemberian hak istimewa (privileges), ataupun peranan pengguna dalam sebuah aplikasi untuk mengakses, merubah, atau memodifikasi data, maupun fungsi dalam suatu aplikasi, sebelum dijalankannya proses Otorisasi biasanya aplikasi akan terlebih dahulu melakukan proses Otentikasi. Sedangkan Otentikasi adalah sebuah mekanisme yang dapat memverifikasi berdasarkan identitas yang otentik pada suatu pengguna. Dengan demikian secara mekanisme, Otentikasi dan Otorisasi akan saling melengkapi dalam mengelola peranan pengguna dalam mengakses, merubah, ataupun memodifkasi suatu fungsi ataupun data dalam sebuah aplikasi.

Meskipun pada akhirnya terdapat juga kerentanan-kerentanan yang menargetkan mekanisme Otorisasi dan Otentikasi seperti Broken Authentication, namun penerapan Otorisasi dan Otentikasi dalam suatu sistem aplikasi tentu akan meminimalisir adanya kebocoran data, misalkan berupa kerentanan Referensi Objek Tidak Langsung atau IDOR (Insecure Direct Object References). Sebagai contoh penulis akan mempraktikannya secara legal dalam aplikasi CTF (Capture the Flag) Postbook milik Hackerone.com. Tujuan dari praktik ini adalah untuk merubah konten seorang Administrator Website melalui kerentanan IDOR (Insecure Direct Object References).

Penulis akan membuat terlebih dahulu sebuah akun dummy dengan username @testakun, dan membuat sebuah konten pada aplikasi. Dalam proses ini diketahui bahwa akun @testakun memiliki parameter id (id=4) dalam url konten tersebut, hal ini menandakan bahwa akun yang penulis buat secara tidak langsung menandakan bahwa penulis telah membuat akun keempat setelah tiga akun sudah dibuat oleh pengguna lain. Untuk memastikan bahwa penulis merupakan pengguna keempat dalam aplikasi, dapat dilihat pada id milik pengguna lain yang dapat dilihat dalam gambar berikut.


Parameter id=1 pada user @admin | Sumber: Dokumentasi Penulis


Parameter id juga digunakan bila akan mengedit konten yang akan diunggah pada aplikasi Postbook. Untuk mendeteksi adanya kerentanan IDOR, penulis akan merubah konten  Administrator Website. Menggunakan Burp Suite, penulis akan melakukan penyadapan HTTP Request Header pada bagian edit konten milik penulis dan memanipulasi parameter id penulis (id=4) seolah-olah parameter id tersebut merupakan parameter id milik Administrator Website (id=1), proses manipulasi dapat dilihat pada gambar berikut.

Memanipulasi Parameter id=4 Menjadi id=1 melalui HTTP Request Header | Sumber: Dokumentasi Penulis


Hasil dari manipulasi parameter ini menunjukan bahwa tidak adanya mekanisme Otorisasi serta Otentikasi dalam Aplikasi Postbook. Penyerang dapat memanfaatkan kerentanan IDOR yang disebabkan tidak terfilternya parameter id dan bisa digunakan untuk tujuan memanipulasi, ataupun mengakses secara leluasa sistem aplikasi. Hal ini dapat dilihat dari potensi penulis untuk merubah unggahan seorang Administrator Website melalui manipulasi parameter id tanpa adanya proses Otentikasi untuk memverifikasi siapa penulis, dan tidak adanya Otorisasi sebagai mekanisme pemberian akses bagi penulis untuk mengakses parameter id=1 didalam url edit konten aplikasi Postbook.

Konten Administrator Website sesudah manipulasi parameter id | Sumber: Dokumentasi Penulis


Berdasarkan praktik tersebut dapat disimpulkan, bila pengembang aplikasi lupa atau tidak menerapkan mekanisme Otorisasi dan Otentikasi maka akan muncul dampak yang besar seperti kebocoran ataupun pencurian data pada sistem aplikasi yang dikelola oleh perusahaan tertentu. Selain itu hasil praktik juga menunjukan bahwa konsep tiga serangkai CIA akan selaras dengan Otorisasi dan Otentikasi selaku mekanisme yang memberikan akses dan memverifikasi peranan dari seorang pengguna aplikasi. Tentu akan berbeda bila aplikasi Postbook menerapkan Otorisasi dan Otentikasi, aplikasi kemungkinan tidak akan memberikan izin bagi penulis untuk merubah data.


Daftar Pustaka:

DevGuide/01-Security Fundamentals.md · OWASP/DevGuide. (2016). Retrieved 10 January 2022, from https://github.com/OWASP/DevGuide/blob/master/01-Foundations/01-Security%20Fundamentals.md


Tulisan ini sudah terbit sebelumnya pada situs Kompasiana