İçeriğe geç

Yarış koşulları / istek kaçakçılığı ​

Yarış koşulları / istek kaçakçılığı, zamanlamaya duyarlı ve protokol düzeyindeki HTTP saldırıları için iki özel araç sunar.

Yarış koşulları ​

Yarış koşulu sekmesi, isteğin birden fazla kopyasını aynı uç noktaya eşzamanlı gönderir ve paralel yürütmelerin yanıtlarını ve sürelerini karşılaştırmanızı sağlar.

Ne zaman kullanılır? ​

  • TOCTOU (time-of-check/time-of-use) — kontrol ile durum değiştirme işleminin eşzamanlı isteklerle birbirinden ayrılıp ayrılamayacağını test edin.
  • Hesap işlemleri — çift harcama veya fazla kullanım için eşzamanlı bakiye değişiklikleri, kupon kullanımları veya sınırlandırılmış işlemler gönderin.
  • Oy veya hız sınırını aşma — kullanıcı başına sınırların atomik uygulanıp uygulanmadığını doğrulayın.

Yarış testi çalıştırma ​

  1. Hedef isteği Yarış koşulu sekmesinde oluşturun veya oraya gönderin.
  2. Eşzamanlılık değerini, yani gönderilecek paralel kopya sayısını ayarlayın.
  3. Yarış isteklerini gönder düğmesine tıklayın. Tüm kopyalar mümkün olduğunca aynı anda gönderilir.
  4. Yanıt tablosunu inceleyin: her kopyanın durum kodu, gövdesi ve geçen süre.
  5. Yanıtlar arasındaki farklar (farklı durum kodları, farklı gövdeler, 2. ve sonraki kopyalarda beklenmedik başarı) bir yarış penceresine işaret eder.

HTTP/2 tek paket yarışı ​

Hedef HTTP/2 desteklediğinde HTTP/2 modu seçeneğini açın. HTTP/2 tüm paralel istekleri tek bağlantıda çoklar; bu ağdaki zamanlama sapmasını ortadan kaldırır ve sunucuya eşzamanlı varışı daha güvenilir kılar.

HTTP istek kaçakçılığı ​

İstek kaçakçılığı sekmesi, ön uç/arka uç senkron kaybını tespit etmek için sunucunun belirsiz Content-Length ve Transfer-Encoding başlıklarını nasıl işlediğini test eder.

Temel bilgiler ​

Ters proxy ve arka uç sunucusu bir isteğin nerede bitip sonrakinin nerede başladığı konusunda anlaşmazsa A isteğindeki kaçak önek B isteğinin başına eklenebilir. Etki; önbellek zehirlemeden kimlik doğrulama atlatmaya ve keyfi istek enjeksiyonuna kadar uzanır.

Senkron kaybı varyantları ​

VaryantAçıklama
CL.TEÖn uç Content-Length, arka uç Transfer-Encoding kullanır
TE.CLÖn uç Transfer-Encoding, arka uç Content-Length kullanır
TE.TEİkisi de Transfer-Encoding kullanır, ancak gizlenmiş başlığa farklı tepki verir

İstek kaçakçılığı yoklaması çalıştırma ​

  1. İstek kaçakçılığı sekmesinde hedef uç noktayı seçin.
  2. Test edilecek senkron kaybı varyantını seçin.
  3. Yoklama gönder düğmesine tıklayın. Araç hazırlanmış isteği gönderir ve yanıtı ölçer.
  4. Dizideki ikinci istekte zaman aşımı veya beklenmedik yanıt, olası senkron kaybına işaret eder.
  5. Bulgu oluşturmadan önce elle doğrulayın; ağ koşullarının yoklamayla ilgisiz zaman aşımına neden olduğu durumlarda yanlış pozitifler oluşur.

Tescilli yazılım. Tüm hakları saklıdır.