آموزش برنامه نویسی در مشهد

شروع کار با Burp Suite -بخش سوم – به کارگیری Burp Proxy

Burp Proxy یکی از قسمت های مهم Burp Suite می باشد. این ابزار این امکان را به شما می دهد که ترافیک وب بین مرورگر کلاینت و سایت مورد نظر را متوقف کرده و بررسی نمایید. در این قسمت از آموزش نرم افزار Burp Suite به این ابزار خواهیم پرداخت.

در قسمت بالای Burp Proxy سه تب به شرح زیر وجود دارد:

مرحله ۱ – متوقف ساختن درخواست های وب

بعد از انجام تنظیمات برنامه و مرورگر می خواهیم مراحل متوقف ساختن یک درخواست HTTP را شرح دهیم :

این گونه تصور کنید که شما مجموعه ای از ابزارهای یکپارچه دارید که این امکان را به شما می دهد که درخواست های وب را به راحتی دستکاری و تحلیل کنید. به عنوان نمونه اگر بخواهیم یک درخواست را رمز گشایی کنیم به راحتی دکمه send to decoder را می زنیم.

با تغییر وضعیت  دکمه  intercept می توانیم تصمیم بگیریم که همه درخواست ها بدون اینکه منتظر فرمان کاربر باشد به صورت خودکار ارسال شود .  این دکمه دارای دو وضعیت  intercept is on و intercept is off است. با این وجود پراکسی همه درخواست های عبوری را ضبط خواهد کرد.

همچنین Burp Proxy این امکان را را به شما می دهد درخواست ها را بر اساس ویژگی های خاص متوقف کنید. که این تنظیمات در بخش  intercept server response در تب options  قرار دارد.

مرحله ۲ – بررسی درخواست های وب

بعد از اینکه یک درخواست متوقف گردید با استفاده از چهار تب موجود می توان محتوا ، عنوان و پارامتر های آن را تجزیه و تحلیل کرد:

با استفاده از تب history شما می توانید همه درخواست هایی که قبلا از پراکسی عبور کرده اند را تجزیه و تحلیل کنید :

  1. بروی تب history کلیک کنید ، در بالای تب Burp پراکسی همه درخواست ها را به صورت جدول نمایش می دهد در پایین آن بسته به انتخاب شما محتوای در خواست و پاسخ نمایش داده می شود. در صورتیکه قبلا یک درخواست را تغییر داده باشید نسخه ویرایش شده را نیز نمایش می دهد.
    نمایش درخواست ها و پاسخ های متوقف شده HTTP به وسیله Burp Proxy
  2. با دابل کلیک کردن برروی هر درخواست پنجره جدیدی باز می شود که در آن امکان بازدید از همه درخواست ها ضبط شده قبلی با استفاده از دکمه های previous  و  next  وجود دارد.
  3. به تب history برگردید Burp Proxy جزئیات شامل متد درخواست ، URLو طول آن را نمایش می دهد همچنین هر درخواست به وسیله یک عدد مشخص  شده است .
  4. برروی عدد مربوط به  در خواست کلیک کنید . Burp Proxy این امکان را می دهد یک رنگ برای هر درخواست انتخاب کنید این زمانی مفید خواهد بودکه می خواهید درخواست ها و پاسخ های مهم را های لایت کنید.
  5.  در قمست بالای history برروی filter کلیک کنید. در این قسمت شما می توانید درخواست ها و پاسخ ها را براساس پارامتر یا  کدی خاص فیلتر کنید.

مرحله ۳- دستکاری درخواست های وب

به عنوان بخشی از یک ارزیابی امنیتی ، شما نیاز دارید که درخواست های HTTP را ویرایش کرده و پاسخ های برنامه وب را تحلیل کنید. به عنوان مثال برای شناسایی آسیب پذیری  SQL injection نکته مهم این است که پارامتر های ویژه ( مثالا تک کوتیشن) را در ورودی های کاربر شامل هدر صفحه ، کوکی ها و متد های    GET/POST به کار ببرید.

 دستکاری یک درخواست وب به راحتی امکان پذیر است :

  1. یک درخواست که شامل حداقل یک پارامتر HTTP را متوقف کنید. به عنوان مثال  این آدرس را در مروگر وارد کنید :  https://acdev.ir/product/AspCsharp/18
  2. به Burp Proxy | Intercept بروید . در این لحظه شما باید درخواست HTTP مربوط به آن را زیر را ببینید.
  3. در پنجره raw به راحتی می توانید قسمت های مختلف درخواست در حال عبور را ویرایش کنید . به عنوان مثال شما می توانید مقدار پارامتر GET  را  از عدد ۱۸ به ۹ تغییر دهید . بعد از ویرایش درخواست به شکل زیر خواهد بود :
    GET /Course/AspCsharp/9 HTTP/1.1
    Host: acdev.ir
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: en-US,en;q=0.5
    Accept-Encoding: gzip, deflate
    Cookie: _ga=GA1.2.1167935794.1426478368; _gat=1
    Connection: keep-alive

     

  4. برروی forward  کلیک کرده و به مرور گر برگردید. نتیجه دوره آموزشی درخواستی از سایت تغییر کرده است .

اگر چه ما می توانیم با استفاده از پنجره raw  همه درخواست های قبلی را را ویرایش کنیم اما با به کار گیری پنجره های دیگر نیز می توانیم این کار را انجام دهیم به عنوان مثال در پنجره params این امکان وجود دارد که پارامتر جدیدی اضافه کنید :

  1. برروی دکمه Add در سمت راست پنجره params کلیک کنید.
  2. نوع پارامتر را اتخاب کنید ( URL، body یا cookie) . به این نکته توجه کنید کهURL  در حالت GET  و body  درحالت Post  به کار می رود.
  3. نام و مقدار پارامتر جدید را وارد کنید.

آموزش نرم افزار Burp Suite

ویژگی های پیشرفته

بعد از انجام تمرینات برروی ویژگی های پایه ای   پراکسی Burp  تقریبا آمادگی لازم برای آشنایی با  تنظیمات پیشرفته آن را بدست آورده اید.

مطابقت و جایگزینی

 موقعیتی را تصور کنید که شما یک برنامه طرا حی شده برای موبایل را با استفاده از یک مرورگر استاندارد از روی کامپیوترتان امتحان می کنید . در بیشتر موارد وب سرور user-agent ایجاد شده به وسیله مرور گر را امتحان می کند برای شناسایی پلت فرم خاصی و پاسخ می دهد با منابع سفارشی شده که با تلفن های همراه و تبلت ها مطابقت دارد. دراین شرایط شما می توانید از match and replace برای تغییرات لازم استفاده کنید. تظیمات  سفارشی کردن Burp Proxy برای دستکاری  user-agent در هدر HTTP  :

  1. در تب options پراکسی Burp ، به پایین اسکرول کرده تا به قسمت match and replace برسید.
  2. برروی دکمه Add در سمت چپ پنجره کلیک کنید. در قسمت type  مقدار request header انتخاب کنید چون ما می خواهیم یک شرط منطبق بر یک درخواست HTTP ایجاد کنیم.
  3. در فیلد Match مقدار  ^User-Agent.*$ وارد کنید. این فیلد نشان دهنده این است که چه مقداری باید دردرخواستHTTP مطابقت داده شود. شما دراین قسمت از یک رشته ساده گرفته تا عبارات منظم پیچیده را می توانید وارد کنید.
    درصورتیکه با عبارات منظم آشنا نیستید به لینک http://www.regular-expressions.info/quickstart.html مراجعه کنید.
  4. در فیلد Replace  مقدار Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/4h20+ (KHTML, like Gecko) Version/3.0 Mobile/1C25 Safari/419.3 یا هر مقدار ی را که می خواهید جعل کنید وارد کنید.
  5.  در صورتیکه از عبارت های منظم استفاده می کنید تیک Regex match را هم بزنید .برروی دکمه Ok کلیک کرده و ببنید مقدار جدید به لیست اضافه شده
    است.
  6. یک درخواست را متوقف کرده و بررسی کنید که تغییرات به درستی اعمال شده است.

    تغییرات خودکار ایجاد شده در هدر HTTP  به وسیله Burp Proxy
 ویرایش HTML 

یکی دیگر از ویژگی های جالب پراکسی Burp  تغییر خودکار HTML است که می توان آنرا از  قسمت Burp Proxy | options  فعال و پیکر بندی کرد.با استفاده از این قابلیت شما می توانید به طور خودکار کدهای جاوا اسکریپت را حذف کنید یا قالب تمامی پاسخ های دریافت شده HTML را تغییر دهید.

بگذارید در عمل بررسی کنیم چگونه می توان این ویژگی را فعال کنیم.

  1. در Burp Proxy ، به قسمت Options  وسپس Response Modification  بروید.
  2. چندین گزینه در این قسمت وجود دارد که هر کدام از آنها عملیات خاصی را انجام می دهند : گزینه unhide hidden form fields فیلد های مخفی قالب Html  را نمایش می دهد. گزینه enable didabled form field تمامی ورودی ها به قالب های حاضر در صفحه را ثبت می کند، گزینه remove input field lenght limits اجازه می هد رشته هایی با اندازه بزرگتر از حد استاندارد را به درون فیلد متنی صفحه Html واردکنید،گزینه remove javascript from validation  موجب می شود Burp Proxy تمامی کنترل کننده های جاوااسکریپت درون قالب های HTML را حذف کند ، گزینه remove all javascript  به صورت کامل تمامی اسکریپت های جاوا را حذف می کند و remove oject tags  شی های نهفته درون مستندات Html را حذف خواهد کرد.
  3. گزینه مورد نظرتان را انتخاب کنید تا به صورت خودکار برنامه Burp آن عملیات را انجام بدهد.

استفاده کردن از این ویژگی شما را قادر می سازد متوجه شوید که آیا برنامه کاربردی تحت وب هدف شما اعتبار سنجی سمت سرور استفاده می کند یا خیر. به عنوان مثال ، برخی از برنامه های کاربردی غیر ایمن از طریق توابع JavaScript  تنها فقط از اعتبار سنجی سمت کلاینت استفاده می کنند، ذر این شرایط شما می توانید به راحتی با ویژگی اصلاح کننده خودکار درخواست ها و انتخب کردن گزینه remove JavaScript from validation اعتبار سنجی را به صورت مستقیم از روی مرور گر خود انجام دهید.

خروج از نسخه موبایل