اگر Nmap و Wireshark ابزارهای اصلی برای دیدن ترافیک در لایهی شبکه هستند، Burp Suite همان نقش را در لایهی برنامهی وب بازی میکند. این ابزار، ساختهشده توسط PortSwigger، استاندارد صنعت برای تست نفوذ برنامههای وب است و در تقریباً هر قرارداد تست نفوذ وب حرفهای، جایی در کاروورکفلو حضور دارد. نسخهی Community آن رایگان است و برای یادگیری کاملاً کافی.
توجه مهم: تمام آزمایشهای این آموزش فقط باید روی برنامههایی انجام شوند که مجوز صریح تست دارید. برای تمرین امن، یا از یک محیط آزمایشگاهی محلی مثل DVWA (Damn Vulnerable Web Application) روی ماشین مجازی خودتان استفاده کنید، یا از سایتهای رسمی ساختهشده برای تمرین امنیتی، مثل testphp.vulnweb.com که توسط شرکت Acunetix دقیقاً برای همین منظور در دسترس عموم قرار گرفته است. رهگیری ترافیک هر سایت دیگری بدون اجازه، غیرقانونی است.
Burp Suite دقیقاً چطور کار میکند؟
ایدهی اصلی ساده است: Burp بهعنوان یک پراکسی بین مرورگر شما و سرور هدف مینشیند. یعنی هر درخواستی که مرورگر میفرستد، اول از Burp عبور میکند، جایی که میتوانید آن را ببینید، متوقف کنید، تغییر دهید، یا دوباره ارسال کنید — قبل از اینکه اصلاً به سرور برسد.
قدم اول: نصب و اجرا
نسخهی Community از سایت PortSwigger قابل دانلود است و روی کالی لینوکس هم از قبل نصب است:
burpsuite
بعد از اجرا، یک پروژهی موقت (Temporary Project) بسازید و روی «Start Burp» کلیک کنید.
قدم دوم: تنظیم پراکسی مرورگر
باید مرورگرتان را طوری تنظیم کنید که ترافیکش از Burp عبور کند. سادهترین راه، استفاده از افزونهی FoxyProxy است، یا تنظیم دستی پراکسی مرورگر روی آدرس زیر:
127.0.0.1:8080
این همان آدرس و پورتی است که Burp بهطور پیشفرض روی آن گوش میدهد (قابل بررسی و تغییر در تب Proxy > Options).
قدم سوم: نصب گواهی CA برای HTTPS
چون بیشتر سایتهای امروزی از HTTPS استفاده میکنند، برای اینکه Burp بتواند ترافیک رمزنگاریشده را هم بخواند، باید گواهی CA اختصاصی آن را در مرورگر نصب کنید. با مرورگر تنظیمشده روی پراکسی Burp، به آدرس زیر بروید و گواهی را دانلود و در تنظیمات مرورگر بهعنوان یک مرجع معتبر (Trusted Authority) اضافه کنید:
http://burp
قدم چهارم: رهگیری اولین درخواست
در تب Proxy، زیرتب Intercept را باز کنید و مطمئن شوید «Intercept is on» است. حالا در مرورگر یک صفحه از سایت آزمایشگاهی را باز کنید — درخواست HTTP دقیقاً همانجا، در Burp، متوقف میشود، پیش از رسیدن به سرور. میتوانید هدرها، کوکیها، و بدنهی درخواست را کامل ببینید و در صورت نیاز تغییر دهید، قبل از اینکه روی «Forward» کلیک کنید.
قدم پنجم: ارسال به Repeater برای آزمایش دستی
روی درخواست رهگیریشده راستکلیک کنید و «Send to Repeater» را انتخاب کنید. در تب Repeater میتوانید همان درخواست را بارها با مقادیر مختلف (مثلاً تغییر یک پارامتر در URL یا بدنهی POST) دوباره ارسال کنید و پاسخ سرور را هر بار ببینید — دقیقاً همان کاری که برای تست دستی یک پارامتر مشکوک به آسیبپذیری لازم است.
قدم ششم: مرور تاریخچهی کامل با HTTP History
حتی وقتی Intercept خاموش است، Burp همچنان تمام ترافیک را در تب Proxy > HTTP History ثبت میکند — فهرستی کامل از هر درخواست و پاسخی که هنگام مرور سایت آزمایشگاهی رد و بدل شده، برای بررسی بعدی.
جمعبندی
Burp Suite فقط یک ابزار برای «دیدن» ترافیک نیست — پایهی تقریباً هر تکنیک پیشرفتهتر تست نفوذ وب، از پیدا کردن SQL Injection دستی تا آزمایش منطق کسبوکار برنامه، از همین رهگیری سادهی اولیه شروع میشود. در دورههای امنیت وب من، بعد از تسلط روی همین گردش کار پایه، وارد تکنیکهای خودکارسازی و اسکن پیشرفتهتر میشویم.
وبلاگ