Cybersecurity 3 menit baca 1 CVE

Menemukan Celah Stored XSS pada Sistem CBT Universitas MH Thamrin

Gambar sampul: Menemukan Celah Stored XSS pada Sistem CBT Universitas MH Thamrin
Perbesar Gambar

Oleh: Muhamad Raehan Ramadhan  |  Prodi: Teknik Informatika UMHT  |  Status: ✅ Reported & Fixed

⚠️ Disclaimer

Riset ini dilakukan sebagai bentuk Ethical Hacking independen demi menjaga integritas data kampus. Seluruh temuan telah dilaporkan kepada Tim IT Universitas MH Thamrin untuk diperbaiki. Tidak ada data mahasiswa yang dimodifikasi atau disalahgunakan selama proses ini berlangsung.


Pendahuluan

Sebagai mahasiswa Teknik Informatika, mengasah kemampuan keamanan siber paling efektif dilakukan melalui studi kasus nyata. Berangkat dari kepedulian terhadap keamanan data sivitas akademika, saya melakukan tinjauan keamanan pada subdomain ict.thamrin.ac.id/cbt.

Dari tinjauan tersebut, saya mengidentifikasi celah Stored Cross-Site Scripting (XSS) pada modul registrasi. Kerentanan ini tergolong kritikal karena berdampak langsung pada integritas sistem ujian yang dikelola universitas.


Memahami Stored XSS

Stored XSS (atau Persistent XSS) terjadi ketika aplikasi web menyimpan input berbahaya dari pengguna ke dalam database tanpa proses sanitasi terlebih dahulu. Akibatnya, skrip jahat tersebut akan dieksekusi secara otomatis di browser siapa pun yang memuat data itu — termasuk mahasiswa lain, bahkan panel Admin.


Bedah Teknis: Proof of Concept (PoC)

1. Vektor Injeksi

Celah ditemukan pada formulir registrasi mahasiswa baru. Saya menyisipkan payload JavaScript sederhana pada kolom Nama Lengkap:

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

2. Kegagalan Validasi (Bypass)

Sistem menerima input tersebut tanpa melakukan filtering terhadap karakter khusus. Akibatnya, akun berhasil terdaftar dan payload tersimpan secara permanen di database server CBT.

3. Eksekusi Skrip (The Trigger)

Saat pengguna login dan masuk ke Dashboard Mahasiswa, sistem memanggil data Nama Lengkap dari database. Karena data tidak di-encode, browser mengeksekusi payload tersebut sebagai kode program — bukan sebagai teks biasa.

🎥 Bukti Video: Tonton Video PoC di YouTube


Analisis Dampak

Jika celah ini dieksploitasi oleh pihak yang tidak bertanggung jawab, beberapa skenario berbahaya berikut dapat terjadi:

Skenario Dampak
Pencurian Sesi Admin (Blind XSS) Jika Admin membuka daftar mahasiswa, skrip akan mencuri Session Cookie dan memberikan akses penuh ke sistem CBT
Manipulasi Integritas Ujian Penyerang dengan akses admin dapat mengubah soal, kunci jawaban, hingga nilai mahasiswa
Phishing Internal Menampilkan halaman login palsu di dashboard mahasiswa untuk mencuri kredensial akun secara massal

Rekomendasi Mitigasi

Berikut langkah Secure Coding yang disarankan untuk mencegah serangan serupa:

✅ Context-Aware Output Encoding

Gunakan fungsi seperti htmlspecialchars() pada PHP — atau library setara di framework lain — sebelum menampilkan data ke browser.

echo htmlspecialchars($nama, ENT_QUOTES, 'UTF-8');

✅ Input Validation

Terapkan allow-list pada kolom nama: hanya izinkan karakter A–Z, a–z, spasi, dan tanda baca tertentu. Tolak karakter seperti <, >, ", dan '.

✅ Content Security Policy (CSP)

Pasang header CSP yang ketat di server untuk memblokir eksekusi skrip dari sumber yang tidak dikenal.

Content-Security-Policy: default-src 'self'; script-src 'self'

Kesimpulan

Keamanan siber di lingkungan kampus adalah tanggung jawab bersama. Penemuan ini merupakan bentuk kontribusi saya sebagai mahasiswa Teknologi Informasi untuk memastikan infrastruktur digital Universitas Mohammad Husni Thamrin tetap kokoh dan terpercaya.

Stay secure, stay ethical! 🔐

Vulnerability Disclosure

1 Finding

Temuan keamanan yang didokumentasikan dalam artikel ini

1× Critical
01
MH-THAMRIN-2026-002 Critical ict.thamrin.ac.id/cbt

Xss Stored Form Register

Xss bypass

9.2
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