Cybersecurity 3 menit baca 1 CVE

Reflected XSS di Portal Akademik Universitas MH Thamrin

Gambar sampul: Reflected XSS di Portal Akademik Universitas MH Thamrin
Perbesar Gambar

Image

Oleh: Muhamad Raehan Ramadhan | Kategori: Cyber Security | Status: ✅ Reported

Disclaimer: Artikel ini ditulis untuk tujuan edukasi keamanan siber. Kerentanan yang dibahas telah dilaporkan secara bertanggung jawab kepada pihak terkait melalui proses responsible disclosure.


Pendahuluan

Portal akademik siakad.thamrin.ac.id merupakan sistem informasi akademik yang digunakan oleh civitas akademika Universitas MH Thamrin untuk mengelola data mahasiswa, nilai, dan berbagai informasi akademik lainnya.

Dalam riset keamanan independen yang saya lakukan, saya mengidentifikasi kerentanan Reflected Cross-Site Scripting (XSS) pada fitur input data mahasiswa. Yang menarik dari temuan ini adalah backend sudah melakukan pembersihan output — namun payload tetap berhasil dieksekusi oleh browser.


Profil Kerentanan

Atribut Detail
Target siakad.thamrin.ac.id
Tipe Reflected XSS
Severity Medium
Entry Point Input data mahasiswa
Payload raehanramadhan19"><script>alert(1)</script>zxcv99

Analisis Teknis

Titik Masuk (Entry Point)

Celah ditemukan pada form input data mahasiswa. Pengujian awal menunjukkan bahwa sistem sudah menerapkan pembersihan di sisi output — karakter seperti < dan > tampaknya di-encode. Namun terdapat celah pada konteks tertentu yang memungkinkan payload tetap lolos.

Injeksi Payload

Payload yang digunakan:

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

Payload ini dirancang untuk:

  1. Menggunakan prefix raehanramadhan19 sebagai penanda unik agar mudah dilacak di response
  2. Menutup atribut HTML yang sedang terbuka dengan "
  3. Menutup tag input dengan >
  4. Menyisipkan tag <script> baru untuk eksekusi JavaScript
  5. Menambahkan suffix zxcv99 untuk memastikan payload tidak ter-filter sebagai pola umum

Mekanisme Bypass

Meskipun backend melakukan sanitasi output, payload tetap berhasil tembus. Ini mengindikasikan bahwa:

  • Sanitasi tidak diterapkan secara konsisten di semua konteks rendering
  • Kemungkinan terdapat perbedaan konteks antara di mana data di-encode dan di mana data di-render ke browser
  • Atau sanitasi hanya dilakukan pada satu lapisan, sementara ada jalur lain yang tidak tersanitasi

Bukti Eksekusi

Fungsi alert(1) berhasil dipicu di browser, membuktikan bahwa JavaScript dari input pengguna dapat dieksekusi di bawah origin domain siakad.thamrin.ac.id.


Analisis Dampak

Reflected XSS umumnya membutuhkan korban untuk mengklik link berbahaya yang sudah disisipi payload. Dalam konteks portal akademik, dampak potensialnya meliputi:

  • Session Hijacking — Payload dapat digunakan untuk mencuri session cookie mahasiswa atau staf akademik yang mengklik link berbahaya
  • Credential Harvesting — Menampilkan form login palsu di atas halaman asli untuk mencuri username dan password
  • Targeted Attack — Link berisi payload dapat dikirim via email phishing yang tampak berasal dari domain resmi kampus

Remediasi yang Disarankan

Untuk menutup celah ini secara menyeluruh, beberapa langkah yang perlu diterapkan:

1. Context-Aware Output Encoding

Pastikan encoding diterapkan sesuai konteks rendering:

  • Di dalam atribut HTML → HTML attribute encoding
  • Di dalam tag <script> → JavaScript encoding
  • Di dalam URL → URL encoding

2. Content Security Policy (CSP)

Tambahkan header CSP untuk membatasi eksekusi script:

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

3. Input Validation

Validasi dan tolak karakter berbahaya seperti <, >, ", ' pada sisi server sebelum diproses.


Kesimpulan

Temuan ini menunjukkan bahwa sanitasi output saja tidak cukup — konsistensi penerapan encoding di seluruh konteks rendering adalah kunci. Celah ini juga menjadi pengingat bahwa sistem akademik yang menyimpan data sensitif ribuan mahasiswa perlu mendapat perhatian keamanan yang serius.

Secure code, secure campus.


Ditulis oleh Muhamad Raehan Ramadhan — Security Researcher & IT Student

Vulnerability Disclosure

1 Finding

Temuan keamanan yang didokumentasikan dalam artikel ini

1× High
01
MH-THAMRIN-2026-003 High siakad.thamrin.ac.id

Reflected XSS via Filter Bypass on Siakad Data Input

Ditemukan celah keamanan Reflected Cross-Site Scripting (XSS) pada fitur input data mahasiswa. Meskipun backend telah menerapkan filter karakter spesial, payload tertentu berhasil melakukan context-breaking pada atribut HTML. Celah ini memungkinkan eksekusi kode JavaScript pihak ketiga dan pencurian session cookies karena tidak ada flag HttpOnly

8.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