
در این بخش از مجموعه Writeup های حوزه آسیب پذیری های منطقی یا business logic قصد داریم تا شما را با نحوه شناسایی یک آسیب پذیری در فیس بوک آشنا نماییم که به گفته تست نفوذگر به صورت تصادفی کشف شده است. این آسیب پذیری توسط Shubham Bhamare شناسایی شده است.
توضیح آسیب پذیری
مدیر یک گروه در فیس بوک قادر به حذف عکسهای آلبوم گروه و همچنین کل آلبوم تحت شرایط خاص نبود. با توجه به این موضوع، تست نفوذگر سناریو و موارد زیر را در نظر می گیرد تا آن ها را از نظر منطقی مورد بررسی قرار دهد:
- یک گروه فیس بوک که در آن تنها یک صفحه (ABC) و یک مدیر است.
- یک مهاجم (XYZ) یک کاربر فیس بوک است که عضو گروه بالا است.
- پلت فرم: وب فیس بوک
مراحل انجام فرآیند تست
1- از دیدگاه ABCs، یک آلبوم در یک گروه ایجاد کنید.


2- از دیدگاه(XYZ)، چند عکس به آلبوم بالا اضافه کنید.


3- زمانی که ABC سعی خواهد کرد آن عکسهای اضافهشده توسط XYZ را حذف کند، هیچ گزینهای برای حذف آنها وجود نخواهد داشت، حتی اگر ABC از سیستمعامل دیگری مانند برنامه اندروید iOS / Liteو سایت برای حذف آن عکسها استفاده کند، این موضوع امکان پذیر نخواهد بود.

هیچ راهی برای حذف عکس آپلود شده توسط عضو گروه وجود ندارد.
ABC تنها قادر به حذف عکسهای خود خواهد بود.
او به عنوان مدیر گروه، باید بتواند عکسهای اضافهشده توسط اعضای گروه را حذف کند. اما در آن زمان که تست نفوذگر این موضوع را گزارش می دهد، هیچ گزینهای وجود نداشت.
رفع مشکل و Bypass آن
تیم فیسبوک این مساله را با اضافه کردن دکمه ویرایش در عکسهای اضافهشده توسط اعضای گروه حل کرد. اما زمانی که تست نفوذگر در حال تایید آن بود، متوجه می شود که اگر مدیر گروه سعی کند کل آلبوم را حذف کند (اگر شامل عکسهای اعضای دیگر هم باشد)، او قادر به حذف آن ها نخواهد بود، چون پیام خطایی مشابه زیر را دریافت می نماید.


تاثیر پشت موضوع دوم این بود که اگر یک عضو مخرب هزاران عکس نامناسب به آلبوم اضافه کند، آنگاه مدیر گروه قادر نخواهد بود کل آلبوم را حذف کند.
او باید همه عکسها را یکی یکی حذف کند.
همچنین میتوانیم تصور کنیم چه اتفاقی میافتد اگر چند عضو گروه هزاران عکس نامناسب را به آن آلبوم اضافه کنند.
تست نفوذگر ۱۰۰۰ دلار که ۵۰۰ دلار آن برای گزارش اولیه و ۵۰۰ دلار دیگر برای پیدا کردن موضوع دوم بود از فیسبوک دریافت می کند.

همواره به نکات زیر توجه نمایید:
- در حالی که مشغول جست و جو در مورد چیزی هستید (حتی اگر در حالت شناسایی آسیب پذیری نبودید)، همیشه مشاهده کنید که آیا همه چیز به درستی کار میکند یا خیر.
- یافتههای خود را آشکار نکنید تا زمانی که کاملا باور داشته باشید که هیچ راه گریزی (Bypass) برای آن وجود نخواهد داشت. بررسی کنید که ویژگیهای دیگری نیز برای مسائل مشابه وجود دارد یا خیر.
- گاهی اوقات شما فقط به تفکر منطقی به جای هر ابزار یا دانش پیشرفته نیاز دارید. زیرا منطق = = جادو است.
Logic == Magic
منبع: