آسیب پذیری در Adblock Plus که امکان اجرای کد را در هنگام استفاده از فیلترهای مشکوک فراهم می کند

در Adblock Plus ad blocker شناخته شده است آسیب پذیری، اجازه می دهد اجرای کد جاوا اسکریپت را در زمینه سایت ها سازماندهی کنید، در صورت استفاده از فیلترهای تایید نشده که توسط مهاجمان تهیه شده است (به عنوان مثال، هنگام اتصال مجموعه قوانین شخص ثالث یا از طریق جایگزینی قوانین در طول حمله MITM).

نویسندگان لیست‌هایی با مجموعه‌ای از فیلترها می‌توانند اجرای کد خود را در زمینه سایت‌هایی که توسط کاربر باز می‌شود با افزودن قوانین با اپراتور سازماندهی کنند.باز نویسی"، که به شما امکان می دهد بخشی از URL را جایگزین کنید. عملگر بازنویسی به شما اجازه نمی دهد که میزبان را در URL جایگزین کنید، اما به شما اجازه می دهد آزادانه آرگومان های درخواست را دستکاری کنید. فقط متن می تواند به عنوان ماسک جایگزین استفاده شود و جایگزینی تگ های اسکریپت، شی و سند فرعی مجاز است. مسدود.

با این حال، اجرای کد را می توان در یک راه حل به دست آورد.
برخی از سایت‌ها، از جمله Google Maps، Gmail، و Google Images، از تکنیک بارگیری پویا بلوک‌های جاوا اسکریپت اجرایی استفاده می‌کنند که در قالب متن خالی ارسال می‌شوند. اگر سرور اجازه تغییر مسیر درخواست را بدهد، می‌توان با تغییر پارامترهای URL به میزبان دیگری ارسال کرد (به عنوان مثال، در زمینه Google، یک تغییر مسیر می‌تواند از طریق API انجام شود.google.com/search"). علاوه بر میزبان هایی که امکان تغییر مسیر را می دهند، می توان علیه سرویس هایی که اجازه ارسال محتوای کاربر را می دهند (میزبان کد، پلت فرم های ارسال مقاله و غیره) نیز حمله کرد.

روش حمله پیشنهادی تنها بر صفحاتی تأثیر می‌گذارد که به صورت پویا رشته‌هایی از کد جاوا اسکریپت را بارگیری می‌کنند (مثلاً از طریق XMLHttpRequest یا Fetch) و سپس آنها را اجرا می‌کنند. محدودیت مهم دیگر نیاز به استفاده از تغییر مسیر یا قرار دادن داده های دلخواه در سمت سرور اصلی صادر کننده منبع است. با این حال، برای نشان دادن ارتباط حمله، نحوه سازماندهی اجرای کد خود را هنگام باز کردن maps.google.com با استفاده از تغییر مسیر از طریق "google.com/search" نشان داده شده است.

اصلاح هنوز در حال آماده سازی است. این مشکل بر مسدود کننده ها نیز تأثیر می گذارد افزونه AdBlock и uBlock. مسدودکننده uBlock Origin تحت تأثیر این مشکل قرار نمی‌گیرد، زیرا از عملگر «بازنویسی» پشتیبانی نمی‌کند. زمانی نویسنده uBlock Origin بود
ترک شده با ذکر مسائل امنیتی احتمالی و محدودیت های ناکافی در سطح میزبان، پشتیبانی را برای بازنویسی اضافه کنید (یک گزینه querystrip به جای بازنویسی برای پاک کردن پارامترهای پرس و جو به جای جایگزینی آنها پیشنهاد شد).

توسعه دهندگان Adblock Plus حملات واقعی را بعید می دانند، زیرا همه تغییرات در لیست استاندارد قوانین بررسی می شود و اتصال لیست های شخص ثالث در بین کاربران بسیار نادر است. جایگزینی قوانین از طریق MITM با استفاده پیش‌فرض از HTTPS برای دانلود لیست‌های بلوک استاندارد جلوگیری می‌شود (برای لیست‌های دیگر، برنامه‌ریزی شده است که دانلود از طریق HTTP در نسخه آینده ممنوع شود). دستورالعمل ها می توانند برای جلوگیری از حمله در سمت سایت استفاده شوند CSP (سیاست امنیتی محتوا)، که از طریق آن می توانید به صراحت میزبان هایی را که می توان از آنها منابع خارجی بارگیری کرد، تعیین کرد.

منبع: opennet.ru

اضافه کردن نظر