آسیب پذیری XSS در Goggle Analytics

در این Whriteup شما با نحوه شناسایی آسیب پذیری Blind XSS در پنل مدیریتی Google Analytics می پردازیم.

در حال حاضر تست نفوذگری که این آسیب پذیری را شناسایی نموده است، جزء 200 هکر گوگل قرار دارد:

آسیب پذیری Blind XSS چیست؟

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

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

پیلود وارد شده توسط نفوذگر می تواند در یک برنامه کاملا متفاوت اجرا شود (به عنوان مثال در یک برنامه داخلی، جایی که مدیر لاگ های دسترسی یا خطاهای برنامه را مشاهده می کند)

اکسپلویت آسیب پذیری

همانطور که می دانید، گوگل دارای Scope بزرگی بوده و برای شناسایی باگ و اکسپلویت آن راه دشواری پیش روی تست نفوذگران می باشد. در ادامه پس از شناسایی آسیب پذیری XSS از نوع Stored در Google Ads، هدف بعدی تست نفوذگر در این بخش، Google Analytics می باشد.

تست نفوذگر حدود 5 روز بر روی Google Analytics کار می کند و آسیب پذیری های مختلفی مانند بالا بردن دسترسی، IDOR، Stored XSS و آسیب پذیری های منطقی را بررسی می نماید. اما مورد خاصی پیدا نمی کند. تست نفوگر بیان می کند که هر زمان قصد پایان دادن به تست را دارد، آسیب پذیری Blind XSS را به عنوان نقطه پایانی مورد بررسی قرار می دهد.

به همین منظور، تست نفوذگر شروع به شناسایی آسیب پذیری Blind XSS با قرار دادن پیلودهای مختلف در بخش های مختلف برنامه می نماید. لازم به ذکر است که در این مرحله تست نفوذگر از پیلودهای ایجاد شده در XSS Hunter استفاده می کند.

شما با ثبت نام در XSS Hunter یک پیلود به یک زیر دامنه مخصوص خود مانند yoursubdomain.xss.ht دریافت می نمایید که با استفاده از این دامنه در پیلود XSS خود در صورت مشاهده آن توسط کاربر، مشخصات مربوط به آن برای شما در صفحه ثبت شده، قرار داده می شود.

جهت کسب اطلاعات بیشتر در خصوص XSS Hunter به لینک زیر مراجعه نمایید:

xsshunter.com/features

تصویر زیر نمونه ای از قرار دادن پیلودهای XSS در بخش های مختلف برنامه می باشد:

در انتها، تست نفوذگر اقدام به قرار دادن پیلود XSS خود در فرم Feedback می نماید:

پس از دو روز، هیچ پیامی از XSS Hunter دریافت نمی شود؛ بنابراین تست نفوذگر روش خود را تغییر می دهد. وی اپلیکیشن اندروید Google Analytics را نصب نموده و پیلودهای خود را این بار در فرم Feedback از این برنامه قرار می دهد. علاوه بر آن پس از Intercept نمودن درخواست مربوط به فرم Feedback، پیلودهای XSS خود را در بخش User Agent و بخش های دیگر از درخواست، قرار می دهد.

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

تصویر زیر نیز مربوط به جزئیات اجرای پیلود می باشد:

در ادامه، تست نفوذگر بدون اتلاف وقت، گزارش مربوط به این آسیب پذیری را نوشته و به گوگل ارسال می کند:

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

منبع:

ashketchum.medium.com/blind-xss-in-google-analytics-admin-panel-3133-70-2185d1cce82a

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

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