Skip to content

Stealth Proxy Tidak Bisa Membeli Captcha yang Mengukur Browser

Adityo Guni Waluyo

Stealth proxy lolos WAF tapi tewas di gerbang captcha yang mengukur browser.

Ringkasan

Stealth proxy cuma ampuh buat WAF biasa, soalnya gerbang captcha gak bisa dibohongin. Cloudflare Turnstile di Jakarta Selatan lolos sendiri pake Chromium asli, sementara reCAPTCHA v2 dijakpus kena pake Firefox anti-detect, tinggal tekan Tab-Spasi doang. Detail perkara butuh sesi aktif, makanya strategi scraping dirombak jadi tiga tingkat biar hasilnya lebih stabil.

Saya menjalankan stealth proxy pada proyek DemandScope untuk mengambil data pengadilan. Respons yang kembali berstatus HTTP 200, tetapi isi tubuhnya justru halaman captcha yang menunggu manusia sungguhan mencentang kotak. Alat yang konon sanggup menembus dinding identitas itu berhenti di gerbang yang tidak bisa dibeli dengan IP bersih. Dugaan pertama saya: ini blokir Web Application Firewall (WAF) biasa, cukup diakali rotasi User-Agent atau alamat IP. Lapisan semacam itu hanya membaca identitas dari luar. Pengujian lanjutan menggunakan browser interaktif nyata membalikkan vonis awal tersebut. Jakarta Selatan, yang sebelumnya divonis sebagai WAF 403, ternyata menggunakan Cloudflare Turnstile[3]. Di lingkungan Chromium dengan profil fingerprint yang nyata, tantangan ini lolos secara otomatis tanpa satu kali klik pun. Total data yang terbuka mencapai 1.209.232 perkara tersebar di 60.462 halaman. Sebaliknya, Jakarta Pusat ternyata mengandalkan reCAPTCHA v2[1]. Ekstraksi biasa hanya mendapatkan cangkang berukuran 769 byte. Namun, ketika diuji menggunakan browser anti-detect berbasis Firefox, fokus pada widget dengan tombol Tab diikuti Spasi menghasilkan token jawaban secara instan[4]. Tidak ada layanan solver atau farm captcha yang diperlukan. Cookie pembersihan tetap bertahan di profil browser tersebut. Hal ini masuk akal karena mekanisme captcha ukur browser modern tidak lagi mengandalkan teka-teki visual. Cloudflare secara aktif mengevaluasi sinyal sisi klien dari lingkungan browser pengunjung, di mana sebagian besar pengunjung lolos secara otomatis tanpa teka-teki CAPTCHA sama sekali[7]. reCAPTCHA v2 juga dirancang untuk memastikan yang menyelesaikan tantangan adalah manusia, lewat token sekali pakai yang hanya berlaku dua menit[2].

Sesi yang Mengikat Data

Keberhasilan melewati gerbang awal hanyalah langkah pertama. Halaman detail perkara ternyata terikat erat pada sesi PHP[6]. Permintaan ke show_detil/<token> akan langsung memantul atau menghasilkan 404 jika tidak ada sesi yang aktif. Di dalam sesi yang valid, halaman tersebut merender sepenuhnya dengan header kasus dan lima tab informasi. Sampel langsung yang berhasil diambil menunjukkan kasus yang terdaftar pada 05 Oktober 2026, melibatkan pemohon dari perusahaan terbuka melawan termohon, dengan status sidang pertama. Ini adalah sinyal produk yang tepat, berasal dari pengadilan yang sebelumnya dianggap tidak bisa di-scrape pada fase awal. Data ini mencakup 1.277.296 perkara di 63.865 halaman, dengan 20 tautan detail per halaman.

Tangga Akses yang Diperbarui

Temuan ini mengubah arsitektur pengumpulan data DemandScope secara fundamental. Stealth proxy tetap berguna untuk menembus batas User-Agent atau IP, tetapi sama sekali tidak efektif untuk gerbang captcha. Strategi akses kini dibagi menjadi tiga tingkatan:
  1. Panel Chromium nyata untuk membersihkan tantangan Cloudflare tanpa interaksi apa pun.
  2. Browser anti-detect Firefox nyata: reCAPTCHA diselesaikan dengan satu fokus keyboard dan spasi, lalu cookie pembersihan bertahan di profil tersebut, persis cara RFC 6265 mendeskripsikan cookie menyimpan state sesi[5].
  3. Stealth proxy hanya untuk dinding WAF biasa, bukan gerbang captcha.

Dampak pada Pembangunan Sistem

Pengadilan dengan gerbang ketat ini kini dimatikan dari cron job robot harian. Jakarta Pusat beralih menjadi sumber fase dua melalui sesi interaktif berkala yang diawasi. Penguraian detail memerlukan klien yang sadar sesi, ditandai dengan flag session_required dalam konfigurasi pengadilan. Jakarta Selatan tetap dipertahankan sebagai sumber data perdata umum karena kemampuannya lolos otomatis. Kadang, alat yang paling canggih justru gagal di depan pintu yang paling polos. Memaksa otomatisasi penuh di lingkungan yang dirancang untuk mendeteksi otomatisasi adalah jalan buntu. Menghormati batasan sesi dan menggunakan interaksi yang terukur memberikan hasil yang lebih stabil daripada mencoba mengelabui sistem dengan proxy tembus pandang.

Sumber

  1. Google reCAPTCHA v2 docs
  2. Google reCAPTCHA siteverify docs
  3. Cloudflare Turnstile docs
  4. Playwright docs
  5. RFC 6265
  6. PHP manual sessions
  7. Cloudflare Challenges docs

Artikel terkait