آسیب پذیری منطقی در فیس بوک

در این Write up مربوط به آسیب‌پذیری منطقی، تست نفودگر با توجه به عدم انتقال تگ img از safe_image.php، قادر به کسب برخی از اطلاعات کاربران فیس بوک می باشد.

توضیحات

این آسیب پذیری به نفوذگر اجازه می دهد تا یک سایت خارجی را در یک تگ img اصطلاحا Embed نماید.

به صورت عادی فیس بوک اجازه استفاده از وب سایت های خارجی برای تصاویر را نمی دهد و اگر هم اجازه این کار را بدهد، URL باید از پروکسی safe_image.php عبور نماید که در سمت سرور، محتوای آن مورد بررسی قرار می گیرد.

در یک صفحه خاص، فیس بوک اجازه عبور هر URL ای را می دهد.

این موضوع به تست نفوذگر اجازه Embed نمودن یک URL از وب سایت خودش را می دهد که در این وب سایت، یک اسکریپت برای ثبت همه درخواست های ورودی قرار داده شده است.

همچنین ممکن است در برخی از مرورگرها یک پنجره احراز هویت نمایش داده شود و این در صورتی است که URL خارجی درخواست شده، کد وضعیت 401 یا 511 را بازگرداند. این موضوع می تواند برای انجام حملات فیشینگ کاربران فیس بوک استفاده شود.

حملات دیگری که در این زمینه ممکن است رخ دهد، embedding malformed یا داده های طولانی است که می تواند منجر به مسدود شدن مرورگر و یا تعبیه فایل های داخلی شود.

تاثیرات آسیب پذیری

این آسیب پذیری می تواند داده های خصوصی کاربر مانند آدرس IP و سیستم عامل وی را بر اساس User-Agent وی، افشا نموده و در برخی موارد می تواند کاربران را فریب دهد تا نام کاربری و کلمه عبور خود را وارد نمایند.

همچنین این آسیب پذیری، شکافی را ایجاد می کند تا مهاجمان به وسیله آن، آسیب پذیری های جدیدی که در مرورگر شناسایی شده است را آزمایش نمایند و با تشدید این باگ، حملات خطرناک تری را انجام دهند.

توجه داشته باشید که این آسیب پذیری تنها زمانی اکسپلویت می شود که قربانی دعوت به عنوان یک مدیر را در صفحه نفوذگر پذیرفته و سپس از یک صفحه خاص بازدید نماید یا به لینکی که توسط نفوذگر ارسال شده است مراجعه کند.

مراحل انجام تست

ایجاد یه صفحه فیس بوک که بعدا توسط نفوذگر استفاده می شود.

به آدرسfacebook.com/{PAGE_TOKEN}/inbox رفته و سپس به بخش Automated Responses و Messenger مراجعه نمایید.

در زیر Response and Feedback ویژگی Page Recommanded را فعال نموده و سپس Edit Message را کلیک کنید.

یک تصویر را بارگذاری نموده و سپس بر روی Save در گوشه بالا سمت راست، کلیک نمایید.

با استفاده از ابزار Burp Suite درخواست ارسالی را مشاهده نمایید که به عنوان مثال، درخواست باید به /api/graphql/ جایی که doc_id= 1713290482059875 است ارسال شود. در این حالت URL، پارامتر متغیرها Decode نموده و در قسمت Attachment، باید آدرس URL به آدرس دامنه مورد نظر نفوذگر تغییر پیدا کرده و در بخش ID نیز یک عدد دلخواه قرار داده شود.

حالا در صورتی که به آدرس facebook.com/{PAGE_TOKEN}/inbox?section=automated_responses مراجعه شود، باید یک درخواست GET به آدرس انتخاب شده انجام شده باشد.

در انتها با دسترسی به پیام های صفحه، به قربانی نقشی در صفحه خود می شود و لینک قبلی برای او ارسال می گردد.

منبع:

ysamm.com/?p=603

درباره نویسنده: احسان نیک آور

ممکن است دوست داشته باشید