در این بخش از مجموعه آشنایی با متدولوژی Burp Suite به بخش چهاردهم از این متدولوژی و استفاده از Site Map ابزار Burp Suite در شناسایی مشکلات مربوط به Access Control می پردازیم.
بررسی مشکلات Access Control
ساده ترین و مؤثرترین راه برای آزمایش کنترل های دسترسی یک برنامه، دسترسی به برنامه با استفاده از حساب های مختلف است.
آزمایش کنترلهای دسترسی یک برنامه کاربردی به این روش، فرآیندی زمانبر است. Burp می تواند به شما کمک کند تا برخی از کارهای مربوط به آن را خودکار کنید.
استفاده از Site Map ابزار Burp Suite جهت شناسایی مشکلات Access Control
Burp Suite به شما امکان می دهد محتوای یک برنامه را با استفاده از دو زمینه کاربر مختلف ترسیم کنید. سپس میتوانید نتایج را مقایسه کنید تا ببینید دقیقاً کجا محتوایی که هر کاربر به آن دسترسی دارد یکسان یا متفاوت است. این آموزش از نسخه ای وردپرس موجود در OWASP’s Broken Web Application Project استفاده می کند.
ابتدا، اطمینان حاصل کنید که Burp به درستی با مرورگر شما پیکربندی شدهاست.
در تب Burp Proxy، اطمینان حاصل کنید که در بخش Proxy و تب Intercept، عبارت Intercept is off نمایش داده شده باشد. سپس به صفحه لاگین مربوط به برنامه ای که قصد بررسی آن را دارید بروید.
اطمینان حاصل نمایید که مرورگر شما در حالت Private یا Incognito قرار داشته باشد.
این کار مرورگر را از ذخیره داده ها یا استفاده مجدد از هر زمینه کاربری موجود باز می دارد.
کل محتوای برنامه را با یک زمینه کاربری (user context) مشاهده(browse) نمایید.
در این مثال ما از لینک های بالای صفحه استفاده می کنیم. (با نام کاربری و کلمه عبور user2 وارد شده ایم که این حساب برای اهداف آموزشی این بخش ایجاد شده است)
به تب Target و بخش Site map مراجعه نمایید. بخش Site map با تعاملاتی که در Request و Response ها انجام می گردد، پر می شود. در این بخش ما Site map را در یک State File مربوط به Burp ذخیره می کنیم.
همچنین این امکان وجود دارد که Burp به صورت پویا اولین نقشه سایت را در یک زمینه جلسه جدید درخواست کند.
سپس از برنامه خارج شوید و به صفحه ورود بازگردید.
به حساب دومی که می خواهید مقایسه کنید وارد شوید. در این مثال ما از نام کاربری و کلمه عبور user که یک حساب پیش فرض در این نسخه از وردپرس می باشد، استفاده کرده ایم.
در Burp Suite به تب Site map برگردید. بر روی آدرس مورد نظر راست کلیک نموده و بر روی Delete host کلیک نمایید تا Site map ایجاد شده حذف گردد.
به بخش ها و عملکردهای برنامه مراجعه نمایید.
به همین صورت Site map مربوط به Burp Suite با تعاملات صورت گرفته با وب سایت، پر خواهد شد. در این بخش بر روی عنوان برنامه در قسمت Site map راست کلیک نموده و بر روی compare site maps کلیک نمایید.
در این مرحله پنجره Compare site mapsبه شما نمایش داده خواهد شد.
برای Site Map 1 گزینه Use current site map را انتخاب نموده و بر روی Next کلیک نمایید.
در بخش بعدی، شما می توانید پیکربندی بیشتری را برای مقایسه خود انجام دهید.
آنچه را که میخواهید در مقایسه خود بگنجانید در نظر بگیرید، گزینه های مناسب را انتخاب کنید و روی Next کلیک کنید.
در مرحله بعدی شما می بایست Site map را تنظیم نمایید. در این مثال برای تنظیم Site map 2 از State File تهیه شده در مرحله قبل استفاده می کنیم. بدین منظورگزینه Load from Burp state file را انتخاب نموده و بر روی Next کلیک می کنیم.
در پنجره باز شده مسیر فایل ذخیره شده را انتخاب نموده و بر روی open کلیک می کنیم.
در صورت اطمینان از انتخاب صحیح فایل مورد نظر، بر روی Next کلیک کنید.
همانند Site map 1 شما می توانید تنظیمات مورد نظر خود را انجام دهید. پس از انجام تنظیمات، بر روی گزینه Next کلیک نمایید.
در ادامه پنجره Request Matching Window به شما نمایش داده می شود. در این مثال موارد موجود را به صورت پیش فرض تایید می کنیم و بر روی Next کلیک می کنیم.
پنجره Response Comparison به شما اجازه می دهد تا ویژگی هایی مانند هدرهای پاسخ را هنگام انجام مقایسه نقشه سایت پیکربندی نمایید. این بخش را نیز مطابق نیاز خود تنظیم نموده و بر روی Next کلیک نمایید.
اکنون Compare sites maps هر دو نقشه سایت را به شما نمایش می دهد. در این بخش شما می توانید بخش های مختلف مربوط به کدام از نقشه سایت را مورد بررسی قرار دهید و تفاوت های بین هر کدام را شناسایی نمایید. بدین صورت شما می توانید سطوح کنترل دسترسی مربوطه را ارزیابی کنید.
در این مثال آشکار است که حساب “Admin” (Map 2) دارای تنوع گسترده تری از پیوندها و محتوای قابل دسترسی از عملکردهای برنامه است.