اگر تا اینجا آموزشهای 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 محسوب میشود.

دیدگاه شما