রেস কন্ডিশন / অনুরোধ স্মাগলিং
রেস কন্ডিশন / অনুরোধ স্মাগলিং সময়নির্ভর ও প্রোটোকল স্তরের HTTP আক্রমণের জন্য দুটি বিশেষ টুল দেয়।
রেস কন্ডিশন
রেস ট্যাব একই এন্ডপয়েন্টে একই অনুরোধের একাধিক কপি একসঙ্গে পাঠায়। সমান্তরালভাবে চলা অনুরোধগুলোর উত্তর ও সময় তুলনা করা যায়।
কখন ব্যবহার করবেন
- TOCTOU (time-of-check/time-of-use) - সমসাময়িক অনুরোধের কারণে যাচাই ও অবস্থা পরিবর্তনের অপারেশনের মধ্যে ব্যবধান তৈরি করা যায় কি না পরীক্ষা করুন।
- অ্যাকাউন্টে কারসাজি - একই সঙ্গে ব্যালেন্স বদলানো, কুপন ব্যবহার বা সীমাযুক্ত অপারেশন পাঠিয়ে দ্বিগুণ খরচ বা সীমার বেশি ব্যবহার সম্ভব কি না পরীক্ষা করুন।
- ভোট বা রেট সীমা এড়ানো - প্রতি ব্যবহারকারীর সীমা অবিভাজ্যভাবে কার্যকর হয় কি না নিশ্চিত করুন।
রেস পরীক্ষা চালানো
- লক্ষ্য অনুরোধ রেস ট্যাবে তৈরি করুন বা পাঠান।
- সমান্তরালতার মান নির্ধারণ করুন; এটি একসঙ্গে পাঠানোর কপির সংখ্যা।
- {count}টি অনুরোধ পাঠান চাপুন; বোতামের সংখ্যা নির্ধারিত সমান্তরালতা বোঝায়। সব কপি যতটা সম্ভব একই সময়ে পাঠানো হয়।
- উত্তরের সারণিতে প্রতিটি কপির স্ট্যাটাস কোড, বডি ও অতিবাহিত সময় পর্যালোচনা করুন।
- উত্তরের পার্থক্য (ভিন্ন স্ট্যাটাস কোড, ভিন্ন বডি, 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 ব্যবহার করে, তবে আড়াল করা হেডারে ভিন্ন আচরণ করে |
স্মাগলিং পরীক্ষা চালানো
- স্মাগলিং ট্যাবে লক্ষ্য এন্ডপয়েন্ট নির্বাচন করুন।
- যে ধরনের অসামঞ্জস্য পরীক্ষা করবেন, তা বেছে নিন।
- অনুরোধ স্মাগলিংয়ের পরীক্ষা চালান চাপুন। টুল বিশেষভাবে তৈরি অনুরোধ পাঠায় এবং উত্তর মাপে।
- ক্রমের দ্বিতীয় অনুরোধে টাইমআউট বা অপ্রত্যাশিত উত্তর সম্ভাব্য অসামঞ্জস্য নির্দেশ করে।
- ফলাফল তৈরি করার আগে নিজে নিশ্চিত করুন। পরীক্ষামূলক অনুরোধের সঙ্গে সম্পর্কহীন নেটওয়ার্ক অবস্থার কারণে টাইমআউট হলে ভুল ইতিবাচক ফল হতে পারে।
সম্পর্কিত পৃষ্ঠা
- পুনঃপ্রেরণ
- ইন্টারসেপশন
- পর্যবেক্ষণ (নিরাপত্তা পরীক্ষার ফলাফল)