PT. Digital Media Techindo

Perum Pondok Tandala, Jl. Bungur V No. 230
Kawalu, Kota Tasikmalaya
Jawa Barat - Indonesia 46182




Sebuah penelitian baru telah mengidentifikasi empat varian baru dari serangan HTTP Request Smuggling yang bekerja terhadap berbagai server web komersial dan server proxy HTTP.

Amit Klein, VP Riset Keamanan di SafeBreach yang mempresentasikan temuannya di konferensi keamanan Black Hat, mengatakan bahwa serangan tersebut menyoroti bagaimana server web dan server proxy HTTP masih rentan terhadap HTTP Request Smuggling bahkan setelah 15 tahun sejak pertama kali didokumentasikan.

Apa itu HTTP Request Smuggling?

HTTP Request Smuggling (atau dikenal juga dengan HTTP Desyncing) adalah teknik yang digunakan untuk mengganggu cara situs web memproses urutan permintaan HTTP yang diterima dari satu atau lebih pengguna.

Kerentanan yang terkait dengan HTTP Request Smuggling biasanya muncul ketika front-end (penyeimbang beban atau proxy) dan server back-end menafsirkan batas permintaan HTTP secara berbeda, sehingga memungkinkan penyerang untuk mengirim (atau “menyelundupkan”) sesuatu permintaan ambigu yang ditambahkan ke permintaan pengguna sah berikutnya.

Desinkronisasi permintaan ini dapat dimanfaatkan untuk membajak akun, menginjeksikan respons ke pengguna, dan bahkan mencuri data dari permintaan korban dan mengekstrak informasi ke server yang dikendalikan penyerang.

Teknik ini pertama kali didemonstrasikan pada tahun 2005 oleh sekelompok peneliti dari Watchfire, termasuk Klein, Chaim Linhart, Ronen Heled, dan Steve Orrin. Namun dalam lima tahun terakhir, sejumlah peningkatan telah dirancang, secara signifikan memperluas permukaan serangan untuk menggabungkan permintaan ke yang lain dan “mendapatkan akses hak istimewa maksimum ke API internal”, mengkontaminasi cache web, dan menyusupi halaman masuk aplikasi populer.

Apa yang baru?

Varian baru yang diungkapkan oleh Klein melibatkan penggunaan berbagai kombinasi server proxy, termasuk Aprelium’s Abyss, Microsoft IIS, Apache, serta Tomcat dalam mode server web, juga Nginx, Squid, HAProxy, Caddy, dan Traefik dalam mode proxy HTTP.

(Gambar: The Hacker News)

Daftar keempat varian baru adalah sebagai berikut, termasuk varian lawas yang berhasil dieksploitasi oleh peneliti dalam percobaannya.


  • Varian 1: “Header SP/CR junk: …”
  • Varian 2 – “Wait for It”
  • Varian 3 – HTTP/1.2 to bypass mod_security-like defense
  • Varian 4 – a plain solution
  • Varian 5 – “CR header”

Saat menangani permintaan HTTP yang berisi dua bidang header Content-Length, Abyss, misalnya, ditemukan menerima header kedua sebagai valid, sedangkan Squid menggunakan header Content-Length pertama, sehingga mengarahkan kedua server untuk menafsirkan permintaan secara berbeda dan mencapai request smuggling.

Dalam situasi di mana Abyss mendapatkan permintaan HTTP dengan isi yang panjangnya kurang dari nilai Content-Length yang ditentukan, Abyss menunggu selama 30 detik untuk memenuhi permintaan, tetapi tidak sebelum mengabaikan isi permintaan yang tersisa. Klein menemukan bahwa ini juga menghasilkan perbedaan antara Squid dan Abyss, dengan bagian yang terakhir menafsirkan permintaan outbound HTTP sebagai permintaan kedua.

Varian ketiga dari serangan tersebut menggunakan HTTP/1.2 untuk menghindari pertahanan WAF sebagaimana didefinisikan dalam OWASP ModSecurity Core Rule Set (CRS) untuk mencegah serangan HTTP Request Smuggling membuat muatan berbahaya yang memicu perilaku tersebut.

Terakhir, Klein menemukan bahwa menggunakan kolom header “Content-Type: text/plain” sudah cukup untuk melewati pemeriksaan tingkat paranoia 1 dan 2 yang ditentukan dalam CRS dan menghasilkan kerentanan HTTP Request Smuggling.

Baca Juga: “[Black Hat Asia 2018] Kerentanan Sistem Pembayaran Seluler

Pertahanan Yang Mungkin

Setelah temuan diungkapkan kepada Aprelium, Squid, dan OWASP CRS, masalah diperbaiki di Abyss X1 v2.14, Squid versi 4.12 serta 5.0.3, dan CRS v3.3.0.

Memanggil untuk normalisasi permintaan outbound HTTP dari server proxy, Klein menekankan perlunya solusi firewall aplikasi web yang kuat dan bersumber terbuka yang mampu menangani serangan HTTP Request Smuggling.

ModSecurity (dikombinasikan dengan CRS) memang merupakan proyek open source, tetapi untuk ketahanan dan sifat umum, mod_security memiliki beberapa kelemahan,” kata Klein. “Itu tidak memberikan perlindungan penuh terhadap HTTP Request Smuggling [dan] itu hanya tersedia untuk Apache, IIS dan nginx.

Untuk tujuan ini, Klein telah menerbitkan library berbasis C++ yang memastikan bahwa semua permintaan HTTP yang masuk sepenuhnya valid dan tidak ambigu dengan menerapkan kepatuhan ketat pada format header HTTP dan format baris permintaan, yang dapat kalian akses di GitHub: https://github.com/SafeBreach-Labs/RSFW.


Just a simple person who like photography, videography, code, and cyber security enthusiast.