فرایند Session Management یا مدیریت و بررسی جلسه به دو بخش Authentication و Authorization تقسیم بندی می شود که به شرح زیر می باشند:
این آسیب پذیری به نحوی میباشد که برای مثال شما در یک وب سایت دارای یک User با سطح دسترسی متوسط هستید. اگر وب سایت به آسیب پذیری IDOR آلوده باشد شما توانایی دسترسی به User های دیگر با سطح دسترسی بالاتر و حتی Admin را پیدا خواهید کرد. متغیر و یا Variable های زیادی درون پروتکل Http وجود دارد که گاها آنها در Header و Cookie های این پروتکل یافت می شوند این متغیر ها عبارتند از "PID", "UID" و "ID" فرد مهاجم با تقییر پارامتر های بالا توانایی حذف/دسترسی و خیلی مباحث دیگر را به منابع User های دیگر و یا منابع حساس وب سایت را پیدا خواهد کرد
این آسیب پذیری فقد مختص دسترسی به User های دیگر نمیباشد. فرض کنید یک عکس درون وب سایت وجود دارد که هرکسی توانایی دسترسی به آن را ندارید درصورت پیدا کردن دسترسی به آن عکس توسط فرد مهاجم، وب سایت به آسیب پذیری IDOR الوده می باشد.
نکته: این آسیب پذیری همانند آسیب پذیری های XSS و CSRF به راحتی کشف نمیشود و نیاز به درک بالایی از عملکرد وب سایت و استعداد در کشف آسیب پذیری از سمت فرد مهاجم دارد
آسیب پذیری IDOR در شکل زیر بین سرور و کلاینت نمایش داده شده است(تصویر 1-1)
برای تست آسیب پذیر بودن وب سایت به این آسیب پذیری ابتدا می بایست از یک Http Proxy به منظور ضبط تمامی Request/Response های کلاینت و سرور استفاده کنید که ما از Burp Suite استفاده میکنیم. در Burp Suite قسمت Proxy ویژگی جالبی وجود دارد که تمامی Traffic های ردوبدل بین سرور و کلاینت را ضبط می کند همچنین از ویژگی Burp Suite Scope به منظور تست سری وب سایت نیز میتوانید استفاده کنید با کلیک راست بر روی Domain مد نظر توانایی انتقال اون به یک Scope را پیدا خواهید کرد
همچنین درون Scope امکان تقییر پارامتر های مختلف درون آنرا پیدا خواهید کرد
و همچنین میبایست فیلتر زیر را با انتخاب گزینه "Show only in-scope items" انجام داید
شما میبایست تمامی Request های ردوبدل شده میان وب سایت و کلاینت را کاملا ضبط و یا Capture کنید، به این منظور شما توانایی Edit سازی Request ویا ساخت Request های مشابه و ارسال آنها را پیدا خواهید کرد.
به طور مثال یک برنامه فروشگاهی در پرداختی های خرید شماره کارت اعتباری شمارا دریافت میکند در مرحله اول با تست Request ها آسیب پذیری IDOR را کشف نمیکنیم ولی در دفعه دوم خرید کارت اعتباری در صفحه برای انتخاب به نمایش درمیآید اینجاست که وب سایت به آسیب پذیری IDOR آلوده می باشد. پس از انتخاب کارت اعتباری برنامه آن کارت را در یک Request به سمت سرور ارسال میکند تا اطلاعات آن را دریافت کند در این جا می باشد که ما توانایی دسترسی به دیگر کارت های درون یک وب سایت را پیدا خواهیم کرد.
یک مثال دیگر از این آسیب پذیری:
فرض کنید یک برنامه چت وجود دارد که در آن User A یک پیغام به User B ارسال کرده است به این صورت /Message/8012/ در اینجا User A قصد دارد به پیغام خود با Message ID 8012 دسترسی پیدا کند پس یک Request به شکل زیر ایجاد میکند و درصورت گرفتن جواب وب سایت به آسیب پذیری IDOR آلوده می باشد.
POST /messages/8012/invite HTTP/1.1 Host: example.com User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0 Firefox/52.0 Accept: */* X-Requested-With: XMLHttpRequest Cookie: my_cookiesConnection: closeuser=testaccount2
درصورت پردازش Request بالا کاربر توانایی دسترسی به کلیه پیغام های افراد را پیدا خواهد کرد
درون Burp Suite افزونه(plugins)هایی وجود دارد که در این زمینه فعالیت میکنند عبارتند از:
نویسنده: امیرحسین تنگسیری نژاد
مهندس و مدرس شبکه و امنیت سایبری و مدیر کل جزیره هک و امنیت اطلاعات توسینسو
متخصص امنیت اطلاعات و کارشناس شکار تهدیدات بانک ملی ایران ، دارای مدارک مختلف از Splunk و AWS و Fortinet و Huawei حوزه اصلی فعالیت بنده در زمینه شبکه مباحث R&S و Service Provider میباشد و در زمینه امنیت نیز در موقعیت های مختلفی مانند PenTest و SoC فعالیت داشته و دارم. سابقه همکاری با بعضی سازمان های در قالب پروژه و... را داشته ام الان به عنوان تحلیلگر امنیت سایبری در زیرساخت بانک ملی مشغول به کار هستم. لینکداین: https://www.linkedin.com/in/amirhoseintangsirinezhad/
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود