XSSPect sebagai callback bypass XSS pada bursuite plugin

Cross-Site Scripting (XSS) telah menjadi musuh klasik bagi pengembang web selama puluhan tahun. Namun, ada satu varian yang jauh lebih berbahaya karena sifatnya yang "tak terlihat": Blind XSS. Artikel ini akan mengupas tuntas tentang XSSpect, sebuah ekstensi Burp Suite yang dirancang khusus untuk mendeteksi, mengotomatisasi, dan mengelola temuan Blind XSS dengan presisi tingkat tinggi.
Memahami Ancaman "The Silent Killer": Blind XSS
Seringkali dalam pengujian penetrasi, kita menyuntikkan payload XSS namun tidak melihat hasil apa pun di browser kita. Hal ini terjadi karena payload tersebut tidak dirender di halaman yang sama, melainkan di sistem internal, panel administratif, atau log viewer yang hanya bisa diakses oleh tim backend atau administrator.
Inilah mengapa Blind XSS sering disebut sebagai Silent Killer. Tanpa mekanisme deteksi Out-of-Band (OOB), kerentanan ini hampir mustahil ditemukan. XSSpect lahir untuk menjembatani celah ini dengan mengintegrasikan proses pemindaian otomatis, teknik pengelabuan (obfuscation), dan manajemen interaksi OOB dalam satu platform yang terpadu.
Arsitektur dan Mekanisme Kerja XSSpect
XSSpect bekerja dengan prinsip "Inject and Listen". Berikut adalah detail teknis bagaimana alat ini beroperasi di balik layar:
1. Injeksi Kontekstual yang Cerdas
XSSpect tidak hanya mengirimkan satu jenis payload. Ia menggunakan ActiveScanHandler untuk mengidentifikasi titik penyisipan (insertion points) yang didukung oleh Burp Suite (seperti parameter URL, body request, header, hingga cookie).
java// Potongan kode dari ActiveScanHandler.java yang menunjukkan rotasi konteks String[] payloads = { "<script>" + obfJs + "</script>", // Injeksi HTML Dasar "\"><script>" + obfJs + "</script>", // Memecah Atribut Tag "<svg onload=\"" + obfJs.replace("\"", """) + "\">", // Injeksi via Event Handler "javascript:" + jsCore // Injeksi via URI Scheme };
Setiap permintaan serangan disertai dengan Correlation ID unik. ID ini disimpan di database lokal bersama dengan detail request asli (URL, parameter, dll.) sehingga ketika ada "hit", kita tahu persis di mana kerentanan itu berada.
2. Mesin Obfuskasi Multi-Layer
Salah satu hambatan terbesar dalam deteksi XSS adalah Web Application Firewall (WAF). XSSpect menyertakan ObfuscationEngine yang mampu mengubah payload JavaScript mentah menjadi bentuk yang sulit dikenali oleh filter keamanan berbasis teks.
Beberapa teknik yang digunakan meliputi:
- String.fromCharCode(): Mengubah kode JS menjadi urutan kode ASCII.
- Base64 (atob/eval): Mengenkapsulasi kode dalam format Base64.
- JSFuck-lite: Menggunakan representasi Unicode escape sequence untuk membuat kode menjadi sangat asing bagi parser WAF.
java// Contoh implementasi JSFuck-lite dalam ObfuscationEngine.java private static String jsFuckLite(String script) { StringBuilder sb = new StringBuilder("Function(\""); for (char c : script.toCharArray()) { sb.append(String.format("\\u%04x", (int) c)); } return sb.append("\")()").toString(); }
3. Eksfiltrasi Data dan Pemrosesan OOB
Saat payload berhasil dieksekusi di browser korban, ia akan menjalankan serangkaian perintah untuk mengumpulkan data sensitif:
document.cookie(Sesi pengguna)localStorage/sessionStoragelocation.href(URL halaman admin yang ditemukan)document.title(Judul halaman)window.name
Data ini kemudian di-encode dan dikirimkan kembali ke server OOB (Burp Collaborator atau Interactsh). Di sisi XSSpect, data tersebut diproses secara rekursif untuk memastikan tidak ada informasi yang terlewat karena encoding ganda.
java// Logika Decoding Rekursif dalam ParsingUtils.java public static String recursiveDecode(String input) { // Mencoba decode Base64 dan URL secara berulang hingga 5 tingkat kedalaman // untuk memastikan data mentah terekstrak dengan sempurna. ... }
Fitur-Fitur Revolusioner XSSpect v3.0
✅ Integrasi Interactsh (ProjectDiscovery)
Selain Burp Collaborator bawaan, XSSpect kini mendukung server Interactsh. Ini sangat berguna jika Anda ingin menggunakan server OOB kustom untuk menghindari limitasi atau untuk keperluan Red Teaming yang lebih rahasia.
✅ Notifikasi Real-Time (Discord, Slack, Telegram)
XSSpect memungkinkan Anda untuk tetap terhubung dengan temuan Anda meskipun sedang tidak berada di depan layar. Setiap kali ada eksekusi (Fire Event), tool ini akan mengirimkan notifikasi instan ke bot Telegram atau webhook chat Anda.
✅ Database Persistensi dan Manajemen "Fires"
Semua temuan (interaksi) disimpan secara permanen di database lokal. Anda bisa menutup Burp Suite dan membukanya kembali tanpa kehilangan riwayat temuan. Setiap entri "Fire" dilengkapi dengan:
- Metadata lengkap browser korban (User-Agent, IP).
- Data sensitif yang berhasil dicuri.
- Link Korelasi: Menampilkan request asli yang memicu kerentanan tersebut.
Skenario Penggunaan (Use Cases)
- Bug Bounty Hunting: Temukan Blind XSS pada aplikasi berskala besar yang menggunakan banyak sistem backend (misal: sistem support tiket, portal admin).
- Professional Pentesting: Tingkatkan kualitas laporan Anda dengan bukti nyata pencurian data sesi (cookies) dari panel administratif yang terisolasi.
- Red Teaming: Gunakan fitur obfuscation dan custom OOB server untuk menyelinap melewati pertahanan WAF modern.
Cara Memulai
- Kompilasi: Gunakan Maven untuk membangun file JAR (
mvn clean package). - Instalasi: Masuk ke tab Extensions di Burp Suite, klik Add, dan pilih file JAR yang telah dikompilasi.
- Konfigurasi: Buka tab XSSpect di Burp, masukkan Webhook URL atau konfigurasi Interactsh jika diperlukan.
- Scan: Klik kanan pada request apa pun di Proxy atau Repeater, lalu pilih "Scan with XSSpect" atau biarkan Active Scanner bekerja secara otomatis.
Kesimpulan
XSSpect bukan sekadar tambahan alat bagi arsenal Anda; ia adalah sebuah kerangka kerja manajemen Blind XSS yang lengkap. Dengan mengotomatisasi bagian yang membosankan dan memperkuat teknik bypass, XSSpect memungkinkan Anda fokus pada apa yang benar-benar penting: Menemukan kerentanan sebelum pihak jahat menemukannya.
Jangan biarkan Blind XSS bersembunyi di balik panel admin Anda. Ungkap semuanya dengan XSSpect.
Repository Github: https://github.com/joelindra/XSSPect