در این بخش از مجموعه آشنایی با متدولوژی Burp Suite به بخش چهارم از این متدولوژی که مربوط به بررسی Brute Force a Login Page می باشد، می پردازیم.
احراز هویت در قلب حفاظت یک برنامه در برابر دسترسی غیر مجاز قرار دارد. اگر مهاجم قادر به شکستن یک تابع احراز هویت برنامه کاربردی باشد، ممکن است بتواند کل برنامه را در اختیار داشته بگیرد.
برنامه آموزشی زیر تکنیکی را برای رد کردن احراز هویت با استفاده از صفحه ورود شبیهسازی شده از ابزار آموزشی “Mutillidae” نشان میدهد. نسخه “Mutillidae” که ما استفاده میکنیم از پروژه OWASP’ s Broken Web Application گرفته شدهاست.
ابتدا، اطمینان حاصل کنید که Burp به درستی با مرورگر شما پیکربندی شدهاست. در تب Burp Proxy، اطمینان حاصل کنید که در بخش Proxy و تب Intercept، عبارت Intercept is off نمایش داده شده باشد.
به “Burp” برگردید.
در بخش Proxy و تب Intercept، اطمینان حاصل نمایید که Intercept is on تنظیم شده باشد.
در مرورگرتان برخی جزئیات دلخواه را وارد صفحه Login کرده و درخواست را ارسال کنید.
درخواست ثبتشده را می توان در تب Intercept مشاهده کرد.
بر روی هر جایی از درخواست راست کلیک کنید تا منوی مربوط به Burp برای شما نمایش داده شود. سپس بر روی”Send to Intruder” کلیک کنید.
نکته: شما همچنین میتوانید درخواستها را از طریق منوی Burp در هر مکانی که درخواستهای HTTP نشان داده میشوند، مانند Site Map یا Proxy History، به Intruder ارسال کنید.
به تب Positions در Intruder بروید.
با استفاده از دکمه “Clear” در سمت راست ویرایشگر درخواست،Payload های از پیش تعیینشده را پاک کنید.
مقادیر پارامتر “username” و “password” را با برجسته کردن آنها و استفاده از دکمه “Add” اضافه کنید.
آشنایی با متدولوژی Burp Suite – بخش سوم
نوع حمله را با استفاده از منوی کشویی “Attack Type” به “Cluster bomb” تغییر دهید.
به تب “Payloads” بروید.
در تنظیمات “Payload sets”، اطمینان حاصل کنید که مقدار Payload set برابر “۱” و “Payload type” برابر “Simple list” تنظیم شدهباشد.
در بخش “Payload options” برخی از نامهای کاربری ممکن را وارد کنید. شما میتوانید این کار را به صورت دستی انجام دهید و یا از یک لیست از پیش تعیینشده استفاده کنید.
سپس، “Payload Set” را به “۲” تغییر دهید. در بخش “Payload options” برخی از رمزهای عبور ممکن را وارد کنید.
شما میتوانید این کار را به صورت دستی یا با استفاده از یک لیست از پیش تنظیمشده و یا سفارشی انجام دهید.
روی دکمه “Start attack” کلیک کنید.
در پنجره “Intruder attack” میتوانید نتایج را با استفاده از سرستونهای هر ستون، مرتب کنید. در این مثال ترتیب با استفاده از ستون های “Length” و “Status” انجام شده است.
در حال حاضر این جدول نتایج جالبی را برای تحقیقات بیشتر در اختیار ما قرار میدهد.
با مشاهده پاسخ در پنجره Attack میتوانیم ببینیم که درخواست ۱۱۸ به عنوان “Admin” وارد سیستم میشود.
برای تایید این که حمله شما موفق بودهاست، از اطلاعات جمعآوریشده (نام کاربری و رمز عبور)در صفحه ورود به برنامه وب استفاده کنید.
Account Lock Out
در برخی موارد، انجام عملیات Brute Force به صفحه Login ممکن است منجر به قفل شدن Account ها در برنامه شود. این موضوع میتواند به دلیل سیاست قفل کردن حساب کاربری براساس تعداد مشخصی از تلاشهای ورود به سیستم و غیره باشد.
اگرچه چنین سیاستهایی برای حفاظت از حساب طراحی شدهاند، اما اغلب میتوانند منجر به آسیبپذیری بیشتر شوند. یک کاربر مخرب ممکن است بتواند چندین حساب را قفل کند و دسترسی به یک سیستم را انکار کند. (DoS)
علاوه بر این، یک حساب قفل شده ممکن است باعث تغییر رفتار در برنامه شود، این رفتار باید مورد بررسی قرار گرفته و به طور بالقوه مورد سوء استفاده قرار گیرد.
Verbose Failure Messages
در جایی که ورود به سیستم نیاز به نام کاربری و رمز عبور دارد، همانطور که در بالا گفته شد، یک برنامه ممکن است به تلاش برای ورود به سیستم با نشان دادن این که دلیل این خرابی یک نام کاربری ناشناخته یا رمز عبور نادرست است، پاسخ دهد. (User Enumeration)
در این مثال، شما میتوانید از یک حمله خودکار برای تکرار از طریق لیست بزرگی از نامهای کاربری مشترک برای برشمردن اینکه کدام یک معتبر هستند، استفاده کنید. فهرستی از نامهای کاربری برشمردهشده را می توان به عنوان مبنایی برای حملات مختلف بعدی، از جمله حدس زدن رمز عبور، حملات به دادهها یا جلسات کاربر، یا مهندسی اجتماعی به کار برد.
Scanning a login page
علاوه بر تکنیکهای تست دستی، Burp Scanner میتواند برای پیدا کردن انواع احراز هویت و آسیبپذیریهای مدیریت نشست استفاده شود.
در این مثال، Scanner قادر به برشمردن مسائل مختلفی بود که میتواند به یک حملهکننده در شکستن احراز هویت و مدیریت جلسه برنامه کاربردی وب کمک کند.