---
url: https://docs.ogmabox.com/bn/app/utilities/race-smuggling.md
description: >-
  Ogma সহায়ক সরঞ্জাম দিয়ে রেস কন্ডিশন ও HTTP অনুরোধ স্মাগলিংয়ের আচরণ পরীক্ষা
  করুন।
---

# রেস কন্ডিশন / অনুরোধ স্মাগলিং {#race-and-smuggling}

রেস কন্ডিশন / অনুরোধ স্মাগলিং সময়নির্ভর ও প্রোটোকল স্তরের HTTP আক্রমণের জন্য দুটি বিশেষ টুল দেয়।

## রেস কন্ডিশন {#race-conditions}

রেস ট্যাব একই এন্ডপয়েন্টে একই অনুরোধের একাধিক কপি একসঙ্গে পাঠায়। সমান্তরালভাবে চলা অনুরোধগুলোর উত্তর ও সময় তুলনা করা যায়।

### কখন ব্যবহার করবেন {#when-to-use-it}

* **TOCTOU (time-of-check/time-of-use)** - সমসাময়িক অনুরোধের কারণে যাচাই ও অবস্থা পরিবর্তনের অপারেশনের মধ্যে ব্যবধান তৈরি করা যায় কি না পরীক্ষা করুন।
* **অ্যাকাউন্টে কারসাজি** - একই সঙ্গে ব্যালেন্স বদলানো, কুপন ব্যবহার বা সীমাযুক্ত অপারেশন পাঠিয়ে দ্বিগুণ খরচ বা সীমার বেশি ব্যবহার সম্ভব কি না পরীক্ষা করুন।
* **ভোট বা রেট সীমা এড়ানো** - প্রতি ব্যবহারকারীর সীমা অবিভাজ্যভাবে কার্যকর হয় কি না নিশ্চিত করুন।

### রেস পরীক্ষা চালানো {#running-a-race-test}

1. লক্ষ্য অনুরোধ রেস ট্যাবে তৈরি করুন বা পাঠান।
2. **সমান্তরালতার** মান নির্ধারণ করুন; এটি একসঙ্গে পাঠানোর কপির সংখ্যা।
3. **{count}টি অনুরোধ পাঠান** চাপুন; বোতামের সংখ্যা নির্ধারিত সমান্তরালতা বোঝায়। সব কপি যতটা সম্ভব একই সময়ে পাঠানো হয়।
4. উত্তরের সারণিতে প্রতিটি কপির স্ট্যাটাস কোড, বডি ও অতিবাহিত সময় পর্যালোচনা করুন।
5. উত্তরের পার্থক্য (ভিন্ন স্ট্যাটাস কোড, ভিন্ন বডি, 2+ নম্বর কপিতে অপ্রত্যাশিত সফলতা) রেস ঘটার সুযোগ নির্দেশ করে।

### HTTP/2 এক-প্যাকেট রেস {#http-2-single-packet-racing}

লক্ষ্য HTTP/2 সমর্থন করলে **HTTP/2 মোড** চালু করুন। HTTP/2 একই সংযোগে সব সমান্তরাল অনুরোধ মাল্টিপ্লেক্স করে। এতে নেটওয়ার্কের সময়গত ওঠানামা দূর হয় এবং সার্ভারে একই সময়ে পৌঁছানো আরও নির্ভরযোগ্য হয়।

## HTTP অনুরোধ স্মাগলিং {#http-request-smuggling}

ফ্রন্টএন্ড ও ব্যাকএন্ডের অনুরোধ ব্যাখ্যায় অসামঞ্জস্য শনাক্ত করতে স্মাগলিং ট্যাব দ্ব্যর্থক `Content-Length` ও `Transfer-Encoding` হেডার সার্ভার কীভাবে সামলায়, তা পরীক্ষা করে।

### পটভূমি {#background}

একটি অনুরোধ কোথায় শেষ এবং পরেরটি কোথায় শুরু, তা নিয়ে রিভার্স প্রক্সি ও ব্যাকএন্ড সার্ভার একমত না হলে A অনুরোধে লুকিয়ে পাঠানো অনুরোধের শুরুর অংশ B অনুরোধের শুরুতে যুক্ত হতে পারে। এর প্রভাব ক্যাশ পয়জনিং থেকে শুরু করে অথেন্টিকেশন এড়ানো ও ইচ্ছেমতো অনুরোধ ইনজেকশন পর্যন্ত হতে পারে।

### অসামঞ্জস্যের ধরন {#desync-variants}

| ধরন | বর্ণনা |
|---|---|
| CL.TE | ফ্রন্টএন্ড Content-Length ব্যবহার করে; ব্যাকএন্ড Transfer-Encoding ব্যবহার করে |
| TE.CL | ফ্রন্টএন্ড Transfer-Encoding ব্যবহার করে; ব্যাকএন্ড Content-Length ব্যবহার করে |
| TE.TE | দুটোই Transfer-Encoding ব্যবহার করে, তবে আড়াল করা হেডারে ভিন্ন আচরণ করে |

### স্মাগলিং পরীক্ষা চালানো {#running-a-smuggling-probe}

1. স্মাগলিং ট্যাবে লক্ষ্য এন্ডপয়েন্ট নির্বাচন করুন।
2. যে ধরনের অসামঞ্জস্য পরীক্ষা করবেন, তা বেছে নিন।
3. **অনুরোধ স্মাগলিংয়ের পরীক্ষা চালান** চাপুন। টুল বিশেষভাবে তৈরি অনুরোধ পাঠায় এবং উত্তর মাপে।
4. ক্রমের দ্বিতীয় অনুরোধে টাইমআউট বা অপ্রত্যাশিত উত্তর সম্ভাব্য অসামঞ্জস্য নির্দেশ করে।
5. ফলাফল তৈরি করার আগে নিজে নিশ্চিত করুন। পরীক্ষামূলক অনুরোধের সঙ্গে সম্পর্কহীন নেটওয়ার্ক অবস্থার কারণে টাইমআউট হলে ভুল ইতিবাচক ফল হতে পারে।

## সম্পর্কিত পৃষ্ঠা {#related-pages}

* [পুনঃপ্রেরণ](../replay.md)
* [ইন্টারসেপশন](../intercept.md)
* [পর্যবেক্ষণ](../findings.md) (নিরাপত্তা পরীক্ষার ফলাফল)
