सीधे सामग्री पर जाएँ

रेस कंडीशन और अनुरोध स्मगलिंग ​

रेस कंडीशन / अनुरोध स्मगलिंग समय-संवेदनशील और प्रोटोकॉल-स्तर के HTTP हमलों के लिए दो विशेष उपकरण देता है।

रेस कंडीशन ​

रेस टैब एक अनुरोध की कई प्रतियाँ एक ही एंडपॉइंट पर एक साथ भेजता है और समानांतर निष्पादनों की प्रतिक्रियाओं तथा समय की तुलना करने देता है।

इसका उपयोग कब करें ​

  • TOCTOU (जाँच का समय/उपयोग का समय): परीक्षण करें कि समवर्ती अनुरोध किसी जाँच और स्थिति बदलने वाली प्रक्रिया के बीच अंतराल बना सकते हैं या नहीं।
  • खाते में हेरफेर: डबल-स्पेंड या सीमा से अधिक रिडेम्प्शन की जाँच के लिए बैलेंस बदलाव, कूपन रिडेम्प्शन या सीमा-बंधित प्रक्रियाएँ एक साथ भेजें।
  • वोट या दर-सीमा को बाइपास करना: पुष्टि करें कि प्रत्येक उपयोगकर्ता की सीमाएँ एटॉमिक तरीके से लागू होती हैं या नहीं।

रेस परीक्षण चलाना ​

  1. लक्ष्य अनुरोध रेस टैब में बनाएँ या वहाँ भेजें।
  2. समवर्तिता का मान सेट करें; यह भेजी जाने वाली समानांतर प्रतियों की संख्या है।
  3. रेस भेजें पर क्लिक करें। सभी प्रतियाँ यथासंभव एक ही समय के करीब भेजी जाती हैं।
  4. प्रतिक्रिया तालिका की समीक्षा करें: प्रत्येक प्रति का स्थिति कोड, बॉडी और बीता समय।
  5. प्रतिक्रियाओं के बीच अंतर (अलग स्थिति कोड, अलग प्रतिक्रिया बॉडी या 2+ क्रमांक वाली प्रतियों में अप्रत्याशित सफलता) रेस विंडो का संकेत देते हैं।

HTTP/2 सिंगल-पैकेट रेस ​

जब लक्ष्य HTTP/2 का समर्थन करता हो, HTTP/2 मोड सक्षम करें। HTTP/2 सभी समानांतर अनुरोधों को एक कनेक्शन पर मल्टीप्लेक्स करता है, जिससे नेटवर्क जिटर समाप्त होता है और सर्वर पर उनका एक साथ पहुँचना अधिक विश्वसनीय बनता है।

HTTP अनुरोध स्मगलिंग ​

स्मगलिंग टैब परीक्षण करता है कि सर्वर अस्पष्ट Content-Length और Transfer-Encoding हेडर को कैसे संभालता है, ताकि फ़्रंटएंड/बैकएंड के बीच सिंक्रनाइज़ेशन बिगड़ने का पता लगाया जा सके।

पृष्ठभूमि ​

जब रिवर्स प्रॉक्सी और बैकएंड सर्वर इस बात पर असहमत हों कि एक अनुरोध कहाँ समाप्त होता है और अगला कहाँ शुरू होता है, तो अनुरोध A से स्मगल किया गया उपसर्ग अनुरोध B के आरंभ में जोड़ा जा सकता है। इसका प्रभाव कैश पॉइज़निंग से लेकर प्रमाणीकरण बाइपास और मनमाने अनुरोध इंजेक्शन तक हो सकता है।

डीसिंक के प्रकार ​

प्रकारविवरण
CL.TEफ़्रंटएंड Content-Length उपयोग करता है; बैकएंड Transfer-Encoding उपयोग करता है
TE.CLफ़्रंटएंड Transfer-Encoding उपयोग करता है; बैकएंड Content-Length उपयोग करता है
TE.TEदोनों Transfer-Encoding उपयोग करते हैं, लेकिन छिपाए गए हेडर पर अलग-अलग प्रतिक्रिया देते हैं

स्मगलिंग जाँच अनुरोध चलाना ​

  1. स्मगलिंग टैब में लक्ष्य एंडपॉइंट चुनें।
  2. परीक्षण के लिए डीसिंक का प्रकार चुनें।
  3. अनुरोध स्मगलिंग की जाँच चलाएँ पर क्लिक करें। उपकरण विशेष रूप से बनाया गया अनुरोध भेजता है और प्रतिक्रिया मापता है।
  4. क्रम के दूसरे अनुरोध पर टाइमआउट या अप्रत्याशित प्रतिक्रिया संभावित डीसिंक का संकेत देती है।
  5. निष्कर्ष बनाने से पहले मैन्युअल पुष्टि करें; जब नेटवर्क की स्थिति जाँच अनुरोध से असंबंधित टाइमआउट पैदा करती है, तब फ़ॉल्स पॉज़िटिव मिल सकते हैं।

मालिकाना सॉफ़्टवेयर। सभी अधिकार सुरक्षित हैं।