ChatCrawlersearch across public Telegram Open the app
D

DevOps Expert General Group

сообщение · 2026-06-26 22:24 UTC
A
در این پست میخوایم HTTP Requests Smuggling رو بررسی کنیم، سناریویی که وقتی Proxy و backend با هم اختلاف دارن پیش میاد. بر خلاف xss یا sql injection که معمولا در خود نرم افزار اتفاق میوفتن، در requests smuggling مشکل از اختلاف در نحوه parse کردن درخواست بین reverse proxy و backend به وجود میاد. اگر frontend و backend روی پایان درخواست هم نظر نباشن، مهاجم میتونه داخل یک connection دو درخواست رو ارسال کنه، که یکی از اونها قاچاقی رد شده. این یعنی : • بایپس کردن Web Application Firewall یا WAF • سناریو cache poisoning • سناریو session hijacking • حتی سناریو account takeover چرا همچین اتفاقی میوفته ؟ فرض کنید معماری شما به این شکل باشه : 1. Client 2. Nginx 3. HAProxy 4. Apache 5. Application هر کدوم این مراحل parser اختصاصی خودشونو دارن، اگر یکیشون تفسیر متفاوتی از header ها داشته باشه smuggling شکل میگیره. حالت اول CL.TE در این حالت frontend فقط مقدار Content-Length رو معتبر میدونه، اما backend بر اساس Transfer-Encoding: chunked درخواست و پراسس میکنه. مثلا : POST / HTTP/1.1 Host: target.com Content-Length: 6 Transfer-Encoding: chunked 0 GET /admin HTTP/1.1 Host: target.com در اینجا frontend فکر میکنه درخواست بعد از ۶ بایت تموم شده ولی backend بعد دیدن chunked درخواست دوم رو هم پردازش میکنه. حالت دوم TE.CL دقیقا برعکس حالت قبل، frontend از Transfer-Encoding استفاده میکنه و backend هم از Content-Length. حالت سوم TE.TE یعنی هر دو سمت از Transfer-Encoding استفاده میکنن، ولی یکی header رو قبول میکنه و اون یکی نه. یا یکی فقط chunked رو معتبر میدونه ولی اون یکی مقادیر غیراستاندارد رو هم قبول داره. مثلا : Transfer-Encoding : chunked Transfer-Encoding: chunked, gzip Transfer-Encoding: xchunked Transfer-Encoding: chunked; سناریو Smuggling در HTTP/2 خیلیا تصور میکنن HTTP/2 این مشکلو حل کرده، ولی در اکثر زیر ساخت ها reverse proxy درخواست HTTP/2 رو به HTTP/1 تبدیل میکنه که در همین مرحله ممکنه اون اختلاف نظر تو parsing پیش بیاد. نمونه آسیب پذیری ها : • H2.CL • H2.TE • HTTP/2 Desync برای تست این آسیب پذیری هم میتونید از این پروژه استفاده کنید : https://github.com/defparam/smuggler از راه های مقابله با این سناریو هم میشه به این موارد اشاره کرد : • حذف درخواست هایی که همزمان دارای CL و TE هستن ( استاندارد رایج ) • بروزرسانی reverse proxy ها • غیرفعال کردن connection reuse در مسیر های حساس • انجام تست دوره ای با ابزار های smuggler مثل ابزاری که بهش اشاره شد و ... @Ahura_Rahmani | #Ahur4 #PenetrationTesting #CyberSecurity #Smuggling
1.3K ·

Вся лента · оригинал в Telegram

Open in Telegram Каталог площадок Искать в ChatCrawler

A snapshot of an open public feed from the search index ChatCrawler — “Google for public Telegram”; refreshed as the venue is crawled. Times are UTC.

Public content only, official Telegram API. About · FAQ · What we do not do · Remove a page · Catalog