Ditulis oleh: Muhamad Raehan Ramadhan Mahasiswa TI Universitas Mohammad Husni Thamrin
Status: ✅ Sudah Diperbaiki
Catatan: Kerentanan yang dibahas dalam artikel ini telah dilaporkan kepada tim IT Universitas MH Thamrin dan telah diperbaiki sepenuhnya. Artikel ini dipublikasikan sebagai edukasi keamanan siber dan dokumentasi teknis.
Pendahuluan
Portal akademik (student.thamrin.ac.id) adalah jantung dari aktivitas digital mahasiswa, tempat di mana data sensitif seperti biodata, nilai, dan informasi keuangan tersimpan. Keamanan portal ini adalah prioritas utama.
Dalam sesi security research independen terbaru saya, saya menemukan celah keamanan bertipe Stored Cross-Site Scripting (XSS) pada fitur pengisian biodata mahasiswa. Celah ini memungkinkan kode jahat disisipkan dan tersimpan di server. Namun, kabar baiknya: Sistem kini sudah aman dari XSS.
Berikut adalah bedah teknis (Technical Breakdown) bagaimana celah tersebut ditemukan dan bagaimana dampaknya.
Analisis Teknis (Technical Analysis)
Target: student.thamrin.ac.id Vulnerability: Stored Cross-Site Scripting (XSS) Lokasi: Form Input Data Pribadi (Profile Settings)
Titik Masuk (Entry Point)
Pada halaman profil mahasiswa, terdapat formulir untuk memperbarui data pribadi (seperti Alamat, Nama Ayah/Ibu, dll). Idealnya, formulir ini hanya menerima teks biasa.
Namun, saat melakukan pengujian sanitization check, saya menemukan bahwa kolom input tersebut menerima karakter spesial tanpa filter yang memadai.Injeksi Payload
Saya mencoba memasukkan payload XSS ke dalam seluruh kolom data pribadi"><script>alert(1)</script>
Tujuannya sederhana: memutus struktur HTML yang ada (">) lalu menyisipkan tag<script>untuk memanggil fungsi alertEksekusi (The Trigger)
Karena sistem saat itu belum melakukan encoding pada output, payload tersebut tersimpan "mentah" di database. Ketika saya (atau orang lain yang memiliki akses melihat profil tersebut) membuka halaman profil, browser menganggap payload tadi sebagai kode program yang sah, bukan sekadar teks.
Hasilnya: Pop-up alert(1) muncul, menandakan bahwa injeksi kode JavaScript berhasil dieksekusi oleh browser.
Mengapa Ini Berisiko?
Video Proof of Concept (POC) link
(Impact Analysis)
Meskipun hanya alert(1), implikasi dari celah ini cukup kritis jika dimanfaatkan oleh peretas jahat sebelum diperbaiki:
1. Account Takeover (ATO): Jika admin atau dosen membuka profil mahasiswa yang telah disisipi script jahat, session cookies mereka bisa dicuri dan dikirim ke server penyerang.
2. Defacement Personal: Penyerang bisa mengubah tampilan profil mahasiswa secara permanen.
3. Pencurian Data (Data Exfiltration): Script bisa dirancang untuk membaca data pribadi yang ada di halaman tersebut dan mengirimnya keluar secara diam-diam.
Remediasi & Status Keamanan Saat Ini
Setelah temuan ini dilaporkan, perbaikan dilakukan dengan mekanisme Input Validation dan Output Encoding.
Saat ini, jika kita mencoba memasukkan payload ">, sistem akan mengubah karakter berbahaya menjadi entitas HTML yang aman (seperti <script>). Browser hanya akan menampilkannya sebagai teks biasa, dan kode tidak akan berjalan.
Kesimpulan
Keamanan sistem adalah proses yang berkelanjutan, bukan hasil akhir. Respons cepat terhadap temuan ini menunjukkan komitmen untuk menjaga keamanan data mahasiswa.
Secure code, secure campus!