Pengantar
Dalam pengembangan aplikasi web, parameter HTTP digunakan untuk mengirimkan data dari pengguna ke server. Parameter ini biasanya muncul pada URL (GET) atau dalam body request (POST). Meski terlihat sederhana, kesalahan dalam memproses parameter dapat membuka celah keamanan serius yang dikenal sebagai HTTP Parameter Pollution (HPP).
HTTP Parameter Pollution terjadi ketika penyerang memanipulasi atau menduplikasi parameter dalam satu request untuk mengubah cara aplikasi memproses input. Kerentanan ini sering kali luput dari perhatian karena banyak pengembang berasumsi bahwa parameter akan selalu muncul satu kali dan diproses secara konsisten.
Padahal, perbedaan cara server, framework, dan komponen backend menangani parameter ganda dapat menjadi pintu masuk eksploitasi.
Apa Itu HTTP Parameter Pollution?
HTTP Parameter Pollution adalah teknik serangan yang memanfaatkan keberadaan parameter HTTP yang sama lebih dari satu kali dalam satu permintaan. Tujuannya adalah membingungkan logika aplikasi atau melewati mekanisme validasi.
PortSwigger juga menjelaskan bahwa perbedaan cara berbagai bahasa pemrograman dalam menangani parameter duplikat dapat menyebabkan inkonsistensi logika dan membuka celah bypass keamanan (dikutip dari Portswigger).
baca juga : DNS Cache Poisoning: Taktik Menyesatkan Browser Anda Agar Mengunjungi Situs Palsu Tanpa Anda Sadari
Bagaimana Cara Kerja HTTP Parameter Pollution?
1. Parameter Normal dalam Request
Contoh permintaan biasa:
https://example.com/login?role=user
Server membaca parameter role=user dan memprosesnya sesuai logika aplikasi.
2. Penyerang Menambahkan Parameter Duplikat
Penyerang dapat mengirimkan:
https://example.com/login?role=user&role=admin
Masalah muncul karena tidak semua sistem menangani parameter ganda dengan cara yang sama.
3. Perbedaan Penanganan Parameter
Framework Mengambil Nilai Pertama
Beberapa sistem hanya membaca parameter pertama.
Framework Mengambil Nilai Terakhir
Sistem lain justru memproses nilai terakhir.
Framework Menggabungkan Nilai
Ada juga yang menggabungkan semua nilai menjadi array.
Ketidakkonsistenan ini dapat menyebabkan validasi keamanan gagal.
Dampak HTTP Parameter Pollution
Bypass Validasi Keamanan
Jika validasi dilakukan pada parameter pertama, tetapi aplikasi memproses parameter terakhir, penyerang dapat melewati filter keamanan.
Manipulasi Hak Akses
Parameter seperti role, isAdmin, atau price dapat dimanipulasi untuk mendapatkan keuntungan tidak sah.
Gangguan Logika Aplikasi
HPP sering digunakan dalam eksploitasi logic flaw yang lebih kompleks.
baca juga : Subdomain Takeover: Ancaman Tersembunyi di Balik Subdomain yang Terlupakan
Mengapa Kerentanan Ini Berbahaya?
Tidak Mudah Terdeteksi
Banyak sistem logging hanya mencatat satu parameter, sehingga aktivitas mencurigakan sulit teridentifikasi.
Bergantung pada Implementasi Backend
Bahasa pemrograman seperti PHP, Java, atau Node.js dapat memiliki perilaku berbeda dalam menangani parameter ganda.
Bisa Digabungkan dengan Serangan Lain
HTTP Parameter Pollution sering dikombinasikan dengan SQL Injection, XSS, atau access control bypass untuk meningkatkan dampak serangan.
Cara Mencegah HTTP Parameter Pollution
Validasi Konsisten di Seluruh Lapisan
Pastikan validasi input dilakukan dengan cara yang sama seperti pemrosesan parameter.
Tolak Parameter Duplikat
Konfigurasikan server atau framework untuk menolak request dengan parameter ganda jika tidak diperlukan.
Gunakan Whitelist Parameter
Tentukan parameter yang diperbolehkan dan abaikan yang tidak sesuai.
Uji Keamanan Secara Berkala
Lakukan penetration testing untuk mengidentifikasi potensi eksploitasi berbasis parameter.
baca juga : Directory Traversal: Celah Berbahaya yang Membuka Akses ke File Server
Kesimpulan
HTTP Parameter Pollution adalah kerentanan yang muncul akibat penanganan parameter HTTP yang tidak konsisten. Dengan menduplikasi parameter dalam satu request, penyerang dapat membingungkan logika aplikasi dan melewati validasi keamanan.
Karena teknik ini sering kali tidak terlihat secara kasat mata, organisasi perlu memastikan bahwa validasi dan pemrosesan parameter dilakukan secara konsisten. Audit keamanan rutin serta pengujian terhadap logic flaw menjadi langkah penting untuk mencegah eksploitasi HPP.









