Cybersecurity 3 menit baca 1 CVE

Mengamankan Data Mahasiswa: Analisis Celah Stored XSS pada Portal Student UMHT

Gambar sampul: Mengamankan Data Mahasiswa: Analisis Celah Stored XSS pada Portal Student UMHT
Perbesar Gambar

Oleh: Muhamad Raehan Ramadhan  |  Kategori: Security Research  |  Status: ✅ Patched & Fixed


⚠️ Disclaimer

Artikel ini ditulis untuk tujuan edukasi keamanan siber. Kerentanan yang dibahas telah dilaporkan secara resmi melalui program pengungkapan bug internal dan telah diperbaiki sepenuhnya oleh tim IT Universitas MH Thamrin sebelum artikel ini dipublikasikan.


Pendahuluan

Portal akademik student.thamrin.ac.id merupakan infrastruktur kritikal bagi mahasiswa Universitas Mohammad Husni Thamrin — menjadi pintu akses utama untuk biodata, nilai, hingga informasi keuangan. Sebagai jantung aktivitas digital kampus, integritas data di dalamnya adalah prioritas yang tidak bisa dikompromikan.

Dalam riset keamanan independen yang saya lakukan, ditemukan kerentanan Stored Cross-Site Scripting (XSS) pada fitur pembaruan biodata. Celah ini memungkinkan penyerang menyisipkan skrip berbahaya yang tersimpan secara permanen di database server. Artikel ini akan membedah aspek teknis temuan tersebut hingga langkah remediasinya.


Profil Kerentanan

Atribut Detail
Target student.thamrin.ac.id
Tipe Kerentanan Stored XSS (Persistent)
Rating Medium / High
Vektor Serangan Form Input Data Pribadi (Settings Profile)

Analisis Teknis

1. Titik Masuk (Entry Point)

Celah ditemukan pada formulir pembaruan data pribadi mahasiswa — khususnya pada kolom seperti Alamat atau Nama Orang Tua. Pengujian awal menunjukkan bahwa sistem tidak melakukan validasi ketat terhadap karakter khusus di sisi server.

2. Injeksi Payload

Untuk membuktikan adanya celah, saya menyisipkan payload sederhana yang dirancang untuk memutus struktur HTML atribut value pada elemen input:

"><script>alert(1)</script>

Payload ini bekerja dengan cara menutup tag input yang sedang aktif (">), lalu memaksa browser untuk mengeksekusi tag <script> baru yang disisipkan setelahnya.

3. Mekanisme Eksekusi (The Trigger)

Karena tidak adanya Output Encoding, skrip tersebut tersimpan secara literal di database. Setiap kali halaman profil dimuat, browser akan merender skrip itu sebagai kode JavaScript aktif — bukan sebagai teks biasa.

Hasil: Fungsi alert() berhasil dipicu, membuktikan bahwa kode JavaScript dari pihak luar dapat berjalan di bawah origin domain kampus.


Analisis Dampak

Stored XSS jauh lebih berbahaya daripada Reflected XSS karena sifatnya yang menetap. Jika tidak segera diperbaiki, potensi dampaknya meliputi:

Skenario Dampak
Session Hijacking Pencurian session cookie milik admin atau dosen yang mengakses profil tersebut, memberikan akses penuh ke sistem
Data Exfiltration Membaca dan mengirim data sensitif dari halaman web secara otomatis ke server milik penyerang
Phishing Internal Menampilkan form login palsu di atas halaman asli portal untuk mencuri kredensial mahasiswa lain secara massal

Remediasi & Status Keamanan

Setelah laporan diterima, tim pengembang menerapkan dua lapis pertahanan:

✅ Input Sanitization

Membersihkan seluruh input pengguna dari karakter berbahaya sebelum data masuk ke database.

✅ Context-Aware Output Encoding

Mengonversi karakter khusus menjadi entitas HTML yang aman sebelum ditampilkan ke browser.

// Contoh implementasi di PHP
echo htmlspecialchars($input, ENT_QUOTES, 'UTF-8');

// Karakter berbahaya dikonversi, contoh:
// <  →  &lt;
// >  →  &gt;
// "  →  &quot;

🛡️ Status Saat Ini: Pengujian ulang menunjukkan bahwa payload kini ditampilkan sebagai teks biasa dan tidak lagi dieksekusi oleh browser. Portal dinyatakan Aman.


Kesimpulan

Keamanan siber adalah sebuah proses kolaboratif. Respons yang cepat dan kooperatif dari tim IT Universitas MH Thamrin dalam menangani laporan ini patut diapresiasi — membuktikan komitmen nyata kampus dalam menjaga privasi dan keamanan data ribuan mahasiswanya.

Secure code, secure campus! 🔐

Vulnerability Disclosure

1 Finding

Temuan keamanan yang didokumentasikan dalam artikel ini

1× Critical
01
MH-THAMRIN-2026-001 Critical student.thamrin.ac.id/

Critical Stored XSS on Multiple Student Profile Inputs

Xss bypass

9.1
CVSS v3

Komentar

Tinggalkan komentar

0 / 1000

🙌

Terima kasih sudah membaca!

Kalau artikel ini bermanfaat, bantu sebar ke teman-teman — atau traktir saya kopi biar makin semangat nulis ☕

// Artikel Terkait