Langsung ke konten

Kondisi Balapan / Penyelundupan HTTP ​

Kondisi Balapan / Penyelundupan HTTP menyediakan dua alat khusus untuk serangan HTTP yang sensitif terhadap waktu dan serangan pada tingkat protokol.

Kondisi Balapan ​

Tab Kondisi Balapan mengirim beberapa salinan permintaan secara bersamaan ke endpoint yang sama dan memungkinkan Anda membandingkan respons serta waktu antar eksekusi paralel.

Kapan digunakan ​

  • TOCTOU (time-of-check/time-of-use) - uji apakah pemeriksaan dan operasi perubahan status dapat disela oleh permintaan serentak.
  • Manipulasi akun - kirim perubahan saldo, penukaran kupon, atau operasi dengan batas tertentu secara serentak untuk menguji pembelanjaan ganda atau penukaran melebihi batas.
  • Bypass pembatasan suara atau laju - pastikan apakah batas per pengguna ditegakkan secara atomik.

Menjalankan pengujian kondisi balapan ​

  1. Buat atau kirim permintaan target ke tab Kondisi Balapan.
  2. Tetapkan nilai Konkurensi - jumlah salinan paralel yang dikirim.
  3. Klik Kirim N Permintaan (N adalah jumlah permintaan yang dikonfigurasi) untuk mengirim permintaan secara serentak. Semua salinan dikirim sedekat mungkin dengan waktu yang sama.
  4. Tinjau tabel respons: kode status, isi, dan waktu yang berlalu untuk setiap salinan.
  5. Perbedaan antarrespons (kode status berbeda, isi respons berbeda, keberhasilan tak terduga pada salinan ke-2 dan seterusnya) mengindikasikan jendela kondisi balapan.

Kondisi balapan satu paket HTTP/2 ​

Ketika target mendukung HTTP/2, pilih H2 Paket Tunggal untuk mengaktifkan mode HTTP/2. HTTP/2 memultipleks semua permintaan paralel melalui satu koneksi, yang menghilangkan jitter jaringan dan membuat kedatangan serentak di server lebih andal.

Penyelundupan Permintaan HTTP ​

Tab Penyelundupan menguji cara server menangani header Content-Length dan Transfer-Encoding yang ambigu untuk mendeteksi ketidaksinkronan frontend/backend.

Latar belakang ​

Ketika proksi balik dan server backend tidak sepakat tentang akhir satu permintaan dan awal permintaan berikutnya, awalan yang diselundupkan dari permintaan A dapat ditambahkan di depan permintaan B. Dampaknya berkisar dari peracunan cache hingga bypass autentikasi dan injeksi permintaan sembarang.

Varian ketidaksinkronan ​

VarianDeskripsi
CL.TEFrontend menggunakan Content-Length; backend menggunakan Transfer-Encoding
TE.CLFrontend menggunakan Transfer-Encoding; backend menggunakan Content-Length
TE.TEKeduanya menggunakan Transfer-Encoding, tetapi merespons berbeda terhadap header yang disamarkan

Menjalankan probe penyelundupan ​

  1. Pilih endpoint target di tab Penyelundupan.
  2. Pilih varian ketidaksinkronan yang akan diuji.
  3. Klik Jalankan Uji Penyelundupan. Alat mengirim permintaan yang disusun khusus dan mengukur respons.
  4. Batas waktu terlampaui atau respons tak terduga pada permintaan kedua dalam urutan mengindikasikan kemungkinan ketidaksinkronan.
  5. Konfirmasi secara manual sebelum membuat temuan - positif palsu terjadi ketika kondisi jaringan menyebabkan batas waktu terlampaui yang tidak terkait dengan probe.

Perangkat lunak proprietari. Seluruh hak cipta dilindungi.