بازی با رتبه بندی محصولات در یک سایت خرید

در این Write up مربوط به آسیب پذیری منطقی، که توسط fiirat تهیه شده است به معرفی یک آسیب پذیری در یک برنامه خصوصی پرداخته می شود که سیستم رتبه بندی سایت را تحت تاثیر قرار می دهد.

برنامه مورد تست، یک برنامه خصوصی بوده و تست نفوذگر نام آن را در این Write up حذف نموده است.

در ادامه نقل مربوط به این Write up از زبان تست نفوذگر قرار داده شده است.

برنامه اصلی یک سایت خرید نوشیدنی مشخص بود. بنابراین مثل همیشه وقت خود را صرف یادگیری تمام ویژگی‌ها و عملکردهای سایت کردم. برای هر کاربر عضویت، بسته و پروفایل وجود داشت.

به عنوان یک شکارچی باگ مهم ترین کاری که می‌توانید انجام دهید این است که از یک برنامه دست نکشید. اکثر افراد اغلب برنامه‌ها را رها نموده و به برنامه دیگری می‌پردازند زیرا احساس می‌کنند هیچ آسیب‌پذیری در آنجا پیدا نمی‌کنند. اما این درست نیست، شما باید زمان زیادی را صرف شناسایی فرآیندها و عملکردهای سایت نمایید.

بنابراین وقت خود را صرف کردم و تمام ویژگی‌های وب سایت را یاد گرفتم، سپس شروع به آزمایش صفحات و ویژگی‌های خاص کردم.

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

دو نوع رتبه بندی وجود داشت، یکی از آن‌ها فقط یک سوال بود: “آیا دوباره این را می‌خرید؟” اگر بله را انتخاب می‌کردید، yesOrNo:5 و در صورتی که نه را انتخاب می‌کردید yesOrNo:1 توسط برنامه برمی‌گشت. بنابراین فکر کردم می‌توانم با امتحان Race Condition و دادن مقدار 1 به سوال YesOrNo، رتبه بندی‌ها را دستکاری کنم. اما این انجام نشد.

مجموعه بیش از ۷۰ رایت آپ آسیب پذیری های وب (Bug Bounty)

در مورد رتبه بندی دیگر؛ این یک star rating ساده بود، شما انتخاب می‌کردید که از 5 قلب چند قلب بدهید و آن را در رتبه بندی لغزنده (sliderRating) برمی‌گرداند.

من چند چیز را امتحان کردم، یکی از آن‌ها تغییر SliderRating به 150 بود و در کمال تعجب، کار کرد. “150” را هم در front end و هم در api نشان می‌داد.

همانطور که می‌بینید، من توانستم هم رتبه بندی ستاره و هم سوال بله یا خیر را دستکاری کنم. من یک گزارش ایجاد کردم و منتظر پاسخ آن‌ها بودم. من انتظار داشتم که گزارش ارسالی به عنوان informative در نظر گرفته شود زیرا این می‌تواند بر شهرت رتبه بندی‌ها تأثیری نداشته باشد. اما پاسخ آن‌ها متفاوت بود و آسیب‌پذیری، بر رتبه بندی‌ها تأثیر می‌گذاشت و آن را به عنوان یک خطای Business Logic پذیرفتند. به همین دلیل هم به آن پاداش تعلق گرفت.

منبع:

infosecwriteups.com/break-the-logic-playing-with-product-ratings-on-a-shopping-site-600-c9a87fb66a73

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

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