آموزش Burp Suite از صفر تا حرفه‌ای؛ تحلیل ترافیک وب در آزمایشگاه Kali Linux و DVWA

Burp Suite training from zero to professional
0 دیدگاه
۱۴۰۵-۰۶-۰۹ ۲۰:۳۴:۵۹

اگر تا اینجا آموزش‌های Kali Linux، Metasploitable 2، Nmap و DVWA را دنبال کرده‌اید، حالا نوبت یکی از مهم‌ترین ابزارهای تست نفوذ وب است:

🕵️ Burp Suite

Burp Suite یک مجموعه ابزار برای بررسی امنیت برنامه‌های وب است که به متخصص امنیت اجازه می‌دهد درخواست‌ها و پاسخ‌های HTTP/HTTPS را مشاهده و تحلیل کند.

در این آموزش، Burp Suite را در کنار Kali Linux و DVWA استفاده می‌کنیم تا همه تمرین‌ها در یک محیط کاملاً قانونی و ایزوله انجام شوند.

⚠️ هشدار: Burp Suite ابزار قدرتمندی است. تمرین‌های این آموزش را فقط روی DVWA، آزمایشگاه شخصی یا سامانه‌ای که مجوز تست آن را دارید انجام دهید.


🎯 در این آموزش چه یاد می‌گیریم؟

در پایان این آموزش با موارد زیر آشنا خواهید شد:

  • Burp Suite چیست؟
  • Proxy چگونه کار می‌کند؟
  • اتصال مرورگر Kali به Burp
  • Intercept کردن Request
  • بررسی HTTP Request و Response
  • Repeater
  • Intruder و کاربرد آن در آزمایشگاه
  • Decoder
  • Comparer
  • Site Map
  • تنظیم Scope
  • بررسی Cookie و Headerها
  • تحلیل پارامترها
  • کار با HTTPS
  • ذخیره نتایج تست
  • ساخت یک سناریوی واقعی Web Pentesting

1. Burp Suite چیست؟

به زبان ساده، Burp Suite را می‌توان در مسیر ارتباطی مرورگر و وب‌سرور قرار داد.

بدون Burp:

Browser
   │
   ▼
Web Server

با Burp:

Browser
   │
   ▼
Burp Suite
   │
   ▼
Web Server

بنابراین می‌توانیم درخواست‌هایی را که مرورگر ارسال می‌کند مشاهده و در محیط آزمایشگاهی تحلیل کنیم.


2. آزمایشگاه ما

برای این آموزش از آزمایشگاه زیر استفاده می‌کنیم:

┌──────────────────────┐
│      Kali Linux      │
│                      │
│ Browser + Burp Suite │
└──────────┬───────────┘
           │
     Host-Only Network
           │
┌──────────▼───────────┐
│         DVWA         │
│ Vulnerable Web App   │
└──────────────────────┘

فرض می‌کنیم IP ماشین DVWA:

192.168.56.20

است.

IP واقعی آزمایشگاه شما ممکن است متفاوت باشد.


3. اجرای Burp Suite

در Kali می‌توانید Burp Suite را از منوی Applications اجرا کنید.

یا در ترمینال:

burpsuite

پس از اجرا، یک پروژه جدید ایجاد کنید.

برای شروع می‌توانید تنظیمات پیش‌فرض را انتخاب کنید.


4. Proxy چیست؟

مهم‌ترین مفهوم در Burp، Proxy است.

Proxy واسطه‌ای بین Client و Server است.

مثلاً:

Client
  │
  │ HTTP Request
  ▼
Burp Proxy
  │
  │ HTTP Request
  ▼
Server

Burp می‌تواند این درخواست را متوقف کند تا شما آن را بررسی کنید.


5. اتصال مرورگر Kali به Burp

در Burp وارد بخش:

Proxy → Proxy settings

شوید.

Listener محلی معمولاً روی:

127.0.0.1:8080

قرار دارد.

حالا مرورگر را طوری تنظیم کنید که Proxy آن روی همین آدرس و پورت قرار بگیرد.

ساختار:

Browser
   ↓
127.0.0.1:8080
   ↓
Burp Suite
   ↓
DVWA

6. اولین Intercept

حالا در مرورگر وارد DVWA شوید:

http://192.168.56.20

در Burp:

Proxy → Intercept

را باز کنید.

Intercept را فعال کنید.

حالا یک صفحه از DVWA را Refresh کنید.

ممکن است Burp درخواست مشابه زیر را نمایش دهد:

GET /dvwa/ HTTP/1.1
Host: 192.168.56.20
User-Agent: Mozilla/5.0
Accept: text/html
Cookie: PHPSESSID=...

تبریک! 🎯

شما اولین HTTP Request خودتان را با Burp مشاهده کردید.


7. Request چیست؟

Request پیامی است که Client برای Server ارسال می‌کند.

یک Request معمولاً شامل مواردی مانند:

Method
URL
Headers
Cookies
Parameters
Body

است.

مثلاً:

GET /dvwa/?id=1 HTTP/1.1
Host: 192.168.56.20

در اینجا:

GET

Method است.

و:

id=1

یک Parameter است.


8. Response چیست؟

Server در پاسخ به Request، یک Response ارسال می‌کند.

مثلاً:

HTTP/1.1 200 OK
Content-Type: text/html

و بعد محتوای صفحه ارسال می‌شود.

ساختار کلی:

Request
   ↓
Server
   ↓
Response

Burp به شما اجازه می‌دهد هر دو طرف این ارتباط را بررسی کنید.


9. Forward کردن Request

وقتی Intercept فعال است، درخواست متوقف می‌شود.

در Burp روی:

Forward

کلیک کنید.

درخواست به مقصد ارسال می‌شود.

اگر بخواهید آن را متوقف نکنید، می‌توانید Intercept را خاموش کنید.


10. Drop چیست؟

اگر درخواست را نمی‌خواهید به سرور ارسال کنید:

Drop

را انتخاب کنید.

در این حالت Request حذف می‌شود و به مقصد نمی‌رسد.

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


11. HTTP Methodها

در Web Pentesting باید Methodهای HTTP را بشناسید.

مهم‌ترین آن‌ها:

GET
POST
PUT
PATCH
DELETE
OPTIONS
HEAD

مثلاً:

GET /products?id=10

یا:

POST /login

نوع Method می‌تواند در نحوه تحلیل برنامه اهمیت داشته باشد.


12. GET و POST چه تفاوتی دارند؟

در GET معمولاً پارامترها در URL دیده می‌شوند:

?id=10

اما در POST معمولاً داده در Body قرار می‌گیرد:

POST /login HTTP/1.1

username=test&password=test

Burp به شما اجازه می‌دهد هر دو نوع Request را مشاهده کنید.


13. Headers

Headerها اطلاعات مختلفی درباره Request و Response حمل می‌کنند.

برای مثال:

Host:
User-Agent:
Accept:
Content-Type:
Cookie:
Referer:

در بررسی امنیتی، Headerها می‌توانند اطلاعات مهمی درباره نحوه عملکرد برنامه در اختیار شما قرار دهند.


14. Cookie چیست؟

Cookie معمولاً برای نگهداری اطلاعات Session و برخی تنظیمات کاربر استفاده می‌شود.

مثلاً:

Cookie: PHPSESSID=abc123

در محیط آزمایشگاهی می‌توانید مشاهده کنید که هنگام ورود به DVWA، Session چگونه در Requestهای بعدی استفاده می‌شود.

Session Cookie را مانند رمز عبور تلقی کنید و هیچ Cookie واقعی را با دیگران به اشتراک نگذارید.


15. Repeater؛ یکی از مهم‌ترین ابزارهای Burp

یکی از جذاب‌ترین قابلیت‌های Burp:

Repeater

است.

Repeater اجازه می‌دهد یک Request را بارها ویرایش و ارسال کنید و Response را مقایسه کنید.

مثلاً:

Browser
   ↓
Request
   ↓
Burp Repeater
   ↓
DVWA

16. استفاده از Repeater در DVWA

یک Request آزمایشگاهی را انتخاب کنید.

روی آن کلیک راست کرده و:

Send to Repeater

را انتخاب کنید.

حالا وارد:

Repeater

شوید.

می‌توانید Request را ببینید و آن را دوباره ارسال کنید.


17. چرا Repeater مهم است؟

فرض کنید یک Parameter داریم:

id=1

می‌توانیم در آزمایشگاه مقدار آن را تغییر دهیم و پاسخ برنامه را مقایسه کنیم.

مثلاً:

id=1
id=2
id=3

و ببینیم Response چه تغییری می‌کند.

این قابلیت در بررسی:

  • Access Control
  • Input Validation
  • SQL Injection
  • XSS
  • Authentication
  • Business Logic

بسیار کاربردی است.


18. تحلیل Response

فقط Request مهم نیست.

Response را هم بررسی کنید.

مثلاً:

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: ...

و سپس Body پاسخ.

به دنبال تفاوت‌هایی مانند:

Status Code
Response Length
Error Message
Headers
Content
Redirect

باشید.


19. Status Codeها

چند Status Code مهم:

Code معنی
200 موفق
201 ایجاد شد
301 انتقال دائمی
302 Redirect
400 درخواست نامعتبر
401 احراز هویت لازم
403 دسترسی ممنوع
404 پیدا نشد
500 خطای سمت سرور

در تست نفوذ، تغییر Status Code می‌تواند سرنخ مهمی درباره رفتار برنامه باشد.


20. Site Map

Burp می‌تواند ساختار سایت را نیز در قالب Site Map نمایش دهد.

در بخش:

Target → Site map

می‌توانید مسیرهایی را که Burp مشاهده کرده است ببینید.

مثلاً:

/
├── login
├── index.php
├── vulnerabilities
│   ├── sqli
│   ├── xss
│   └── upload
└── logout

این قابلیت برای درک ساختار Application بسیار مفید است.


21. Scope

در تست واقعی، یکی از مهم‌ترین تنظیمات Burp، Scope است.

Scope مشخص می‌کند چه دامنه‌ها یا مسیرهایی در محدوده تست قرار دارند.

در آزمایشگاه ما:

192.168.56.20

را به‌عنوان هدف مجاز در نظر می‌گیریم.

این کار کمک می‌کند به‌صورت ناخواسته Requestهای مربوط به سایت‌های دیگر را تحلیل نکنید.


22. Decoder

ابزار دیگری به نام:

Decoder

وجود دارد.

برای کار با داده‌هایی مانند:

URL Encoding
Base64
Hex

مناسب است.

مثلاً:

SGVsbG8=

یک مقدار Base64 است که Decoder می‌تواند آن را Decode کند.


23. Comparer

Comparer برای مقایسه دو Response یا داده مختلف کاربرد دارد.

مثلاً:

Response A
     VS
Response B

این قابلیت زمانی مفید است که بخواهید تفاوت دو پاسخ را دقیق‌تر پیدا کنید.


24. Intruder

Intruder برای ارسال تعداد زیادی Request با مقادیر مختلف طراحی شده است.

کاربردهای آموزشی آن می‌تواند شامل:

  • بررسی Input Validation
  • تست پارامترها
  • آزمایش محدودیت‌های برنامه
  • تست کنترل‌های امنیتی در آزمایشگاه

باشد.

در محیط واقعی باید استفاده از Intruder کاملاً در محدوده مجاز و با Rate مناسب انجام شود؛ چون ارسال تعداد زیادی Request می‌تواند روی سرویس اثر بگذارد.


25. Burp و SQL Injection

حالا ارتباط آموزش قبلی ما را ببینید.

در DVWA:

SQL Injection
      ↓
Browser Request
      ↓
Burp
      ↓
Repeater
      ↓
Response Analysis

Burp کمک می‌کند بفهمیم دقیقاً چه Requestای به Application ارسال شده و برنامه چه پاسخی برگردانده است.


26. Burp و XSS

همین روش برای XSS نیز قابل استفاده است.

مثلاً:

Input
 ↓
HTTP Request
 ↓
Burp
 ↓
Server
 ↓
HTTP Response
 ↓
Browser

می‌توانیم بررسی کنیم ورودی کاربر چگونه در Response ظاهر می‌شود.

این موضوع برای درک XSS بسیار مهم است.


27. HTTPS چگونه کار می‌کند؟

وقتی سایت از HTTPS استفاده می‌کند، ارتباط رمزنگاری می‌شود.

برای اینکه Burp بتواند در یک آزمایشگاه HTTPS را بررسی کند، باید CA Certificate مخصوص Burp را روی محیط آزمایشگاهی خود تنظیم کنید.

این کار فقط برای سیستم و مرورگری است که خودتان کنترل می‌کنید.

هرگز گواهی Burp را روی سیستم شخص دیگری نصب نکنید.


28. یک سناریوی کامل Web Pentesting

حالا تمام ابزارها را کنار هم قرار دهیم:

              Kali Linux
                   │
                   ▼
                 Nmap
                   │
          شناسایی سرویس وب
                   │
                   ▼
              Browser
                   │
                   ▼
             Burp Proxy
                   │
          ┌────────┴────────┐
          ▼                 ▼
       Request           Response
          │                 │
          ▼                 ▼
      Repeater          Analysis
          │
          ▼
   Vulnerability Testing
          │
          ▼
        Report

این ساختار، یک دید بسیار بهتر نسبت به فرآیند Web Pentesting به شما می‌دهد.


🧪 تمرین عملی

حالا یک تمرین برای کاربران سایت:

مرحله ۱

DVWA را روی شبکه Host-only اجرا کنید.

مرحله ۲

Burp Suite را اجرا کنید.

مرحله ۳

مرورگر Kali را به Proxy متصل کنید.

مرحله ۴

وارد DVWA شوید.

مرحله ۵

یک Request را Intercept کنید.

مرحله ۶

آن را به Repeater بفرستید.

مرحله ۷

یک Parameter را تغییر دهید.

مرحله ۸

Response قبل و بعد را مقایسه کنید.

مرحله ۹

تفاوت را در یک گزارش ثبت کنید.


📝 قالب گزارش تمرین

کاربر می‌تواند گزارش خود را به شکل زیر تهیه کند:

Target:
DVWA

Target IP:
192.168.56.20

Endpoint:
...

HTTP Method:
GET / POST

Parameter:
...

Original Request:
...

Modified Request:
...

Original Response:
...

Modified Response:
...

Observed Difference:
...

Security Impact:
...

Recommended Fix:
...

🛡️ Burp فقط برای حمله نیست

یکی از نکات مهمی که باید از ابتدا یاد بگیرید این است که Burp Suite فقط یک ابزار «هک» نیست.

می‌توان از آن برای:

  • تست امنیت
  • Debugging
  • تحلیل HTTP
  • بررسی Authentication
  • بررسی Session
  • تست API
  • بررسی Input Validation
  • تحلیل رفتار Application

نیز استفاده کرد.

بنابراین یادگیری Burp Suite یکی از پایه‌های مهم Web Application Security محسوب می‌شود.

دسته بندی‌ها:

دیدگاه شما

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *