آشنایی با متدولوژی Burp Suite – بخش دوازدهم

در این بخش از مجموعه آشنایی با متدولوژی Burp Suite به بخش دوازدهم از این متدولوژی به بررسی آسیب پذیری Cross-Site Request Forgery یا CSRF با استفاده از ابزار Burp می پردازیم.

CSRF حمله ای است که نفوذگر در آن یک کاربر نهایی را مجبور به اجرای یک فعالیت ناخواسته بر روی برنامه تحت وب می کند که این عملیات از احراز هویت کاربر جاری به منظور انجام عملیات خود استفاده می کند.

آسیب‌پذیری‌های CSRF ممکن است زمانی ایجاد شوند که برنامه‌ها برای شناسایی کاربری که درخواست خاصی را صادر کرده است، صرفاً به کوکی‌های HTTP متکی هستند.

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

در این مثال، از CSRF PoC Generator ابزارBurp Suite استفاده خواهیم کرد تا با تغییر جزئیات حساب کاربر (آدرس ایمیل مرتبط با حساب) در نسخه قدیمی و آسیب‌پذیر «GETBOO»، حساب کاربر را Hijack کنیم.

در این بخش از نسخه “GETBOO” مربوط به OWASP’s Broken Web Application استفاده می شود.

اسکنر ابزار Burp شما را قادر می سازد تا آسیب پذیری CSRF را شناسایی نمایید.

اسکنر Burp تعدادی شرایط را شناسایی می کند، از جمله زمانی که یک برنامه کاربردی برای شناسایی کاربر صرفاً به کوکی های HTTP متکی است که منجر به آسیب پذیر شدن یک درخواست در برابر CSRF می شود.

به منظور بررسی دستی آسیب پذیری CSRF ابتدا اطمینان حاصل نمایید که تنظیمات Burp و مرورگر به درستی تنظیم شده اند.

در تب Burp Proxy، اطمینان حاصل کنید که در بخش Proxy و تب Intercept، عبارت Intercept is off نمایش داده شده باشد. سپس برنامه مورد نظر را در مرورگر خود باز کنید.

اطمینان حاصل نمایید که به برنامه وارد شده اید و فرآیند احراز هویت انجام شده است. در این برنامه شما می توانید از نام کاربری و کلمه عبور user برای ورود استفاده نمایید. سپس به صفحه مورد نظر جهت تست مراجعه نمایید.

در این بخش امکان ایجاد تغییرات وجود دارد که در تست جاری از بخش ایمیل استفاده می نماییم. ما قصد داریم تا یک عدد به ایمیل اضافه نماییم.

به “Burp” برگردید.

در بخش Proxy و تب Intercept، اطمینان حاصل نمایید که Intercept is on تنظیم شده باشد.

یک درخواست را ارسال نموده (Submit) تا این درخواست در ابزار Burp Suite نمایش داده شود. در بخش Proxy بر روی صفحه راست کلیک نموده و از بین گزینه های موجود بر روی Engagement tools و سپس Generate CSRF PoC کلیک نمایید.

در پنجره Generate CSRF PoCشما باید مقدار ارائه شده توسط کاربر را تغییر دهید. در این مثال ما مقدار ایمیل را به newemail@malicious.com تغییر می دهیم.

در همین پنجره بر روی Copy HTML کلیک می کنیم.

سپس یک ویرایشگر متنی را باز نموده و موارد کپی شده را در آن Paste نموده و سپس با پسوند html آن را ذخیره می نماییم.

در تب Burp Proxy، اطمینان حاصل کنید که در بخش Proxy و تب Intercept، عبارت Intercept is off نمایش داده شده باشد. در صورت لزوم، دوباره وارد برنامه شوید. در ابتدا حمله را روی همان حساب آزمایش می کنیم. فایل html ساخته شده را در همان مرورگر باز می کنیم.

بسته به گزینه های CSRF PoC ممکن است نیاز باشد درخواست را ارسال کنید یا این مورد ممکن است به صورت خودکار ارسال شود. در این مورد ما نیاز به کلیک بر روی Submit Request هستیم. (صرفا جهت اثبات آسیب پذیری)

اگر حمله موفقیت آمیز بوده و اطلاعات حساب کاربری با موفقیت تغییر کرده باشد، این به عنوان یک بررسی اولیه برای بررسی قابل قبول بودن حمله عمل می کند.

اکنون با استفاده از یک حساب کاربری دیگر (در این مثال، حساب مدیریت برنامه) به برنامه وارد شوید.
پس از ورود به سیستم، با باز کردن فایل در همان مرورگر، دوباره حمله را انجام دهید.

اگر اطلاعات حساب در برنامه وب تغییر داده شده باشد پس حمله موفقیت آمیز بوده است. یک حمله موفقیت آمیز نشان می دهد که برنامه وب در برابر CSRF آسیب پذیر است.

در مثال ما، یک رمز عبور جدید را می توان با استفاده از آدرس ایمیل برای حساب تنظیم کرد. به این ترتیب یک مهاجم می تواند مالکیت کامل حساب را به دست آورد.

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

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