Belajar Cyber Security #23: Web Proxy & Burp Suite — Melihat Trafik Sendiri di Tengah Jalan

Di episode #22 kita bahas cara kerja seorang penetration tester: izin tertulis, scope, lalu laporan. Nah, alat kerja utamanya apa? Jawabannya hampir selalu sama — web proxy. Kali ini saya catat bagaimana sebuah proxy bisa membuat saya melihat dan mengubah trafik HTTP saya sendiri, pakai Burp Suite Community Edition versi 2026.10.1 (rilis 26 Oktober 2026). Ini bagi saya bagian paling seru sekaligus paling membuat was-was, karena sekali dipasang, semua request dari browser saya terlihat telanjang di layar.

Diagram alur web proxy: Browser, Burp Proxy 127.0.0.1:8080, Server tujuan
Alur dasar web proxy: browser percaya proxy, server melihat proxy sebagai klien.

Proxy: man-in-the-middle buatan sendiri

Di episode #6 kita sudah sentuh firewall dan port. Web proxy pada dasarnya adalah aplikasi yang mendengarkan di satu port lokal (Burp default: 127.0.0.1:8080), lalu meneruskan request saya ke server tujuan dan mengembalikan responsnya. Posisinya persis di tengah: browser saya percaya kepada proxy, server tujuan melihat proxy sebagai klien. Saya sendiri yang jadi “pria di tengah” — hanya saja terhadap lalu lintas milik saya sendiri.

Yang membuat ini berguna untuk belajar: tanpa proxy, saya hanya melihat hasil akhir halaman. Dengan proxy, saya melihat request mentahnya — header, cookie, parameter, semuanya. Bagi saya sebagai programmer, ini seperti menambah console.log() di lapisan jaringan: saya akhirnya tahu apa yang benar-benar dikirim browser saya ke server.

Yang bisa dilakukan Community Edition

Saya memilih Community Edition karena gratis dan cukup untuk belajar. Versi stabil saat ini 2026.10.1. Bedanya dengan Professional perlu saya catat jujur sejak awal supaya tidak kaget nanti:

FiturCommunityProfessional
Intercept & HTTP historyYaYa
Repeater (kirim ulang request)YaYa
Intruder (fuzzing otomatis)Ya, tapi rate-limited lambatTanpa batas
Decoder & ComparerYaYa
Scanner (active scan otomatis)Tidak adaYa
Declarative scan rulesTidak adaYa

Artinya: di Community saya wajib memeriksa halaman demi halaman secara manual, tanpa pemindai otomatis. Sebenarnya ini bagus untuk belajar — saya jadi benar-benar memahami request yang saya kirim, bukan sekadar menunggu laporan mesin.

Empat alur yang saya kuasai dulu

  • Intercept — mode “tahan” request sebelum terkirim. Saya bisa mengubah isi form, parameter, atau header di tengah jalan. Ini yang paling bikin saya merasa memegang kendali.
  • HTTP history — semua request/respons tercatat. Saat ada bug di aplikasi lab, saya tinggal telusuri ulang request mana yang aneh.
  • Repeater — ambil satu request dari history, ubah sedikit, kirim ulang. Ini alat harian untuk menguji dugaan, misalnya apakah sebuah parameter masih bisa dimanipulasi.
  • Intruder — mengirim request yang sama berulang dengan bagian yang diganti (payload). Di Community ini sengaja diperlambat, jadi untuk latihan kecil saja.

Bentuk request yang saya lihat kurang lebih begini ketika saya menahan dan mengubah sebuah parameter login di lab DVWA:

POST /login HTTP/1.1
Host: localhost:8080
Content-Type: application/x-www-form-urlencoded
Cookie: PHPSESSID=abc123

username=admin&password=test&submit=Login

Perhatikan baris terakhir — di sinilah, misalnya, input SQL Injection dari episode #8 akan saya sisipkan saat menguji lab. Kuncinya tetap sama: saya hanya melakukannya terhadap aplikasi yang memang saya punya (lab DVWA, WebGoat, atau PortSwigger Academy), bukan target pihak ketiga. UU ITE tidak peduli niat baik saya kalau izinnya tidak ada.

Cara memasang & jebakan pertama saya

Burp menyediakan sertifikat CA sendiri supaya trafik HTTPS juga bisa dibaca. Saya mengunduh sertifikat itu, memasangnya ke trust store sistem, lalu mengatur browser memakai proxy 127.0.0.1:8080. Jebakan yang saya temui sendiri: halaman HTTPS tiba-tiba tidak bisa dibuka sama sekali sampai sertifikat CA benar-benar terpasang di sistem, bukan sekadar di browser. Kedua: lupa mematikan intercept sehingga browsing terasa “macet” — padahal request sedang ditahan proxy menunggu saya menekan Forward. Ketiga, yang paling penting: proxy ini hanya mendengarkan di localhost, dan itu sebuah pengaman. Saya tidak pernah mengubah proxy sistem ke mode menerima koneksi dari luar — kalau ada, perangkat lain di jaringan yang sama bisa lewat proxy saya.

Untuk alternatif open source, ada OWASP ZAP yang fitur active scan-nya tersedia gratis — itu pilihan saya kalau suatu saat butuh pemindai otomatis tanpa harus berlangganan.

Yang saya ambil

Belajar pakai proxy mengubah cara saya menulis kode. Sekarang setiap kali menambah endpoint, saya terbiasa membayangkan request apa yang akan terlihat di HTTP history: apakah token CSRF-nya sudah ada (episode #10), apakah cookie-nya sudah benar atributnya (episode #11), apakah ada parameter yang tidak perlu ikut dikirim. Di episode berikutnya kita lanjut ke topik yang sangat berkaitan: password cracking dengan hashcat dan john — untuk memahami kenapa MFA dan password manager bukan opsional.

Sumber

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses