Selamat datang kembali di seri "Belajar Bug Bounty" Di artikel sebelumnya, kita telah membahas dasar-dasar bug bounty: mulai dari pengertian, jenis-jenis celah keamanan, hingga proses pelaporan yang tepat. Kita telah membangun fondasi penting untuk memahami bagaimana program bug bounty bekerja dan apa yang menjadi target utama ketika berburu kerentanan.
Pada Bagian 2 ini, fokus kita adalah pada XSS (Cross-Site Scripting) — salah satu bug web paling umum dan berbahaya yang sering muncul dalam program bug bounty. XSS bukan hanya masalah teknis, tapi juga memiliki dampak serius terhadap keamanan aplikasi dan data pengguna. Di artikel ini, kamu akan mempelajari:
- Apa itu XSS dan bagaimana cara kerjanya
- Tiga jenis utama XSS: Stored, Reflected, dan DOM-based
- Contoh skrip (payload) untuk masing-masing jenis XSS
- Teknik deteksi XSS secara manual dan menggunakan tools
- Langkah-langkah mitigasi paling efektif
- Tips menulis laporan bug bounty XSS yang lengkap dengan Proof‑of‑Concept
Tujuan artikel ini adalah memberikan kamu pemahaman mendalam mengenai XSS yang saya ambil dari beberapa sumber artikel lain juga. — bukan hanya teori, tetapi juga praktik nyata dalam hunting bug bounty. Dengan pengetahuan ini, kamu akan lebih percaya diri dalam menemukan, memverifikasi, dan melaporkan kerentanan XSS kepada vendor.
Apa Itu XSS
XSS adalah celah keamanan pada aplikasi web yang memungkinkan penyerang menyisipkan dan menjalankan skrip (biasanya JavaScript) di dalam browser korban. Ini terjadi ketika aplikasi tidak memvalidasi, menyaring, atau mengenkripsi input dengan benar sebelum menyajikannya kembali ke pengguna. Baca lebih lanjut disini https://owasp.org/www-community/attacks/xss/
Jenis-jenis XSS (Cross-Site Scripting)
1. Stored XSS
Stored XSS terjadi ketika input berbahaya dari penyerang disimpan secara permanen di sisi server, seperti dalam database, file log, atau CMS, lalu ditampilkan kembali ke pengguna lain tanpa proses sanitasi. Celah ini sering ditemukan pada fitur yang menerima input pengguna seperti kolom komentar, chat publik, forum diskusi, atau profil pengguna.
Stored XSS sangat berbahaya karena skrip jahat bisa langsung dijalankan saat pengguna mengakses halaman yang terpengaruh. Salah satu tujuan umum dari serangan ini adalah untuk mencuri cookie atau session token korban, memungkinkan penyerang mengambil alih akun.
Untuk memahami bagaimana Stored XSS dieksekusi secara manual, kamu perlu tahu dua hal utama:
- Tempat input – Di mana kita bisa menyisipkan payload (form komentar, bio, dsb).
- Tempat output – Di mana input tadi ditampilkan kembali tanpa disanitasi.
Kalian bisa mencoba Stored XSS di web latihan berikut https://labs.parkerzanta.net/labs/xss/stored_xss.php Lab ini adalah simulasi nyata dari kerentanan Stored XSS, yang terjadi saat input dari pengguna (nama atau komentar) lalu ditampilkan kembali ke semua pengunjung tanpa proses sanitasi.
Langkah Eksploitasi
- Akses Lab di https://labs.parkerzanta.net/labs/xss/stored_xss.php
- Masukkan Payload di form Nama atau Komentar
Form | Value |
---|---|
Nama Anda: | Isi nama asal |
Komentar: | isi payload: <script>alert('XSS')</script> |
Atau sebaliknya, masukkan payload di Nama. Contoh Payload:
<script>alert('XSS')</script>
Klik Kirim, lalu halaman akan refresh ulang dan komentar muncul dalam daftar. Karena tidak ada encoding, script akan langsung berjalan dan memunculkan alert dari payload yang di masukan. Untuk memastikan payload disimpan kalian bisa refresh halaman dan alert akan tetap muncul
2. Reflected XSS
Reflected XSS terjadi saat data dari URL (biasanya parameter GET) langsung ditampilkan ke halaman tanpa difilter, memungkinkan skrip jahat berjalan di browser korban hanya dengan membuka link berisi payload.
Lab ini dapat diakses di: https://labs.parkerzanta.net/labs/xss/reflected_xss.php
Langkah Eksploitasi
- Buka halaman lab https://labs.parkerzanta.net/labs/xss/reflected_xss.php
- Tambahkan payload pada parameter kata
Atau masukan pada Kata kunci pencarian lalu klik Cari)
3. Self XSS
Self-XSS adalah jenis celah keamanan di mana pengguna secara tidak sengaja menjalankan skrip berbahaya pada kita sendiri, biasanya melalui interaksi sosial seperti instruksi menyalin dan menempelkan kode ke browser console atau input.
Self-XSS bukan bug yang valid untuk bug bounty karena butuh aksi penuh dari korban, dan tidak bisa dieksploitasi secara otomatis.
Kamu bisa mengakses lab ini di: https://labs.parkerzanta.net/labs/xss/self_xss.php
Langkah Eksploitasi
Lab Self XSS ini sangat sederhana kalian hanya mengetikan payload secara langsung di form yang di sediakan dan alert dari XSS akan muncul otomatis. Contoh payload
<script>alert('Self-XSS')</script>
Di artikel sebelumnya, kita sudah membahas fondasi bug bounty—mulai dari pengertian, jenis-jenis bug, hingga proses pelaporan. Artikel ini melanjutkannya dengan fokus pada **XSS (Cross-Site Scripting)**, salah satu bug paling umum dan sering muncul dalam program bounty. Dengan memahami jenis-jenis XSS — Stored, Reflected, dan Self-XSS serta mencoba eksploitasi langsung melalui lab yang disediakan, kamu kini memiliki dasar teknis yang kuat untuk menemukan dan melaporkan XSS secara mandiri.
Dan di bagian Reflected XSS kalian pasti asing dengan kata parameter. Pada artikel ini https://www.parkerzanta.net/2025/06/belajar-bug-bounty-pengertian-dan-jenis.html saya sudah memberi tau kalian untuk memahami seperti: Apa itu form, input, dan parameter URL.
Perlu kalian ingat, Masih banyak varian XSS dan teknik lanjutan di luar sana, tapi dengan bekal ini kamu sudah selangkah lebih dekat menjadi bug hunter yang lebih percaya diri. Sampai jumpa di Bagian 3, di mana kita akan membahas serangan apa ya?
Posting Komentar