نقشه راه وب هکینگ | Web Application Pentesting
چرا این نقشه راه؟
تست نفوذ وب یکی از عملیترین شاخههای امنیت سایبری است. این نقشه راه، مسیری واقعگرایانه از سطح پایه تا حرفهای ارائه میدهد تا شما را به یک Web Pentester توانمند تبدیل کند—از مفاهیم شبکه و HTTP تا حملات پیشرفته و روشهای دفاعی.
پیشنیازهای شروع یادگیری وب هکینگ
- شبکه: مدل OSI، TCP/IP، DNS، ICMP، مفاهیم کلاینت/سرور، VPS و معماری استقرار.
- HTTP Fundamentals: متدها، Status Codeها، Header/Cookie، Same-Origin Policy و CORS.
- امنیت اطلاعات: مفاهیم CIA، احراز هویت و مجوز، رمزنگاری پایه، مدیریت نشست.
- فناوریهای وب: HTML، CSS، JavaScript، یکی از زبانهای Backend (مانند PHP، Python)، و آشنایی با فریمورکها.
مسیر مرحلهای ۴–۶ ماهه
فاز | مدت تقریبی | محورهای یادگیری |
---|---|---|
آمادگی پایه | ۲–۳ هفته | شبکه، HTTP، ابزارهای مرورگر (DevTools)، اصول لینوکس و Bash |
شناخت آسیبپذیریهای رایج | ۳–۴ هفته | OWASP Top 10 (XSS، SQLi، Auth/Session، Misconfig، IDOR) |
حملات سمت سرور | ۳–۴ هفته | SSRF، LFI/RFI، XXE، Deserialization، Template Injection |
حملات سمت کلاینت | ۳ هفته | DOM-XSS، CSP، CSRF، CORS، SOP Bypass (درک معماری Front-End) |
مباحث پیشرفته | ۲–۳ هفته | HTTP Request Smuggling، Race Conditions، Prototype Pollution |
اتوماتسازی و گزارشنویسی | ۱–۲ هفته | اسکریپتنویسی Python، API ابزارها، استاندارد گزارش (CVSS، CWE) |
دامنههای اصلی آزمون و آنچه باید بدانید
۱) Authentication & Session
Brute Force اصولی، حفاظت از Credential Stuffing، مدیریت نشست، ضعفهای JWT، چالشهای OAuth و MFA/2FA. تمرکز روی منطق تجاری و سیاستهای قفل حساب.
۲) Injection Attacks
SQLi، NoSQLi، LDAPi، SSTI و XXE. تفکیک ورودیها، پارامتریسازی و بررسی مسیر داده از کلاینت تا پایگاهداده.
۳) Advanced Server-Side
SSRF، File Inclusion، Deserialization، Race Conditions و آسیبپذیریهای معماری microservices/cloud.
۴) Advanced Client-Side
XSS (Reflected/Stored/DOM)، CSRF، منطق CORS/SOP، و کنترل منابع فرانتاند.
۵) HTTP Request Smuggling
درک تفاوت تفسیر درخواست بین پروکسی/سرور (CL.TE، TE.CL) و الگوهای desync. این بخش را فقط در محیطهای آزمایشی پیادهسازی کنید.
مهمترین ابزارها
- Burp Suite — رهگیری/بازنویسی درخواستها، ماژولهای Repeater/Intruder/Scanner.
- OWASP ZAP — جایگزین آزاد برای پروکسی رهگیر و اسکن پایه.
- Nmap — شناسایی سرویسها و پورتها برای تعیین سطح حمله.
- Hydra — تست بروتفورس مجاز روی سرویسهای احراز هویت.
- John the Ripper / hashcat — تحلیل و کرک هشها در چارچوب قانونی.
- Metasploit — چارچوب اکسپلویت و آزمون کنترلشدهٔ آسیبپذیریها.
- Python 3 — خودکارسازی، اسکریپتهای کمکی و ساخت ابزارهای کوچک.
# نمونه دستورات بیخطر برای تمرین در لاب شخصی
# رهگیری ترافیک محلی با ZAP/Burp و تحلیل درخواستهای HTTP
# اسکن نسخهٔ سرویسها (لاب داخلی)
nmap -sV 192.168.56.0/24
# تست خودکار اولیه (هدف آزمایشی مجاز)
zap-baseline.py -t http://dvwa.local -r report.html
لابها و منابع تمرینی
- پلتفرمهای آموزشی: DVWA، WebGoat، bWAPP، PortSwigger Labs، Hack The Box (ماشینهای وب).
- کتابخانهها و راهنماها: راهنمای OWASP، CWE، استانداردهای گزارشدهی (CVSS).
- بهترین روشها: راهاندازی لاب ایزوله (VM/Container)، استفاده از دامنهٔ محلی و دادهٔ آزمایشی.
برنامهٔ تمرینی هفتگی پیشنهادی
# الگوی ژورنال یادگیری (Markdown)
## هفته X
- هدف هفته:
- لابهای انجامشده:
- نکات کلیدی:
- سوالات/ابهامات:
- برنامهٔ هفتهٔ بعد:
چکلیست مهارتها قبل از آغاز پروژهٔ واقعی
- درک کامل چرخهٔ درخواست/پاسخ HTTP و وضعیتهای امنیتی مرورگر.
- توانایی تحلیل و بازنویسی درخواستها با Burp/ZAP و استخراج منطق احراز هویت/نشست.
- شناخت و بازتولید کنترلشدهٔ XSS/SQLi/IDOR/CSRF در محیط آزمایشی.
- آشنایی با گزارشدهی، تعیین شدت (CVSS) و ارجاع به CWE/OWASP.
- توانمندی خودکارسازی کارهای تکراری با Python و Scriptهای کوچک.
اگر موارد بالا را تیک میزنید، برای شرکت در پروژههای تست نفوذ مجاز و برنامههای Bug Bounty آمادگی اولیه را دارید.
پرسشهای متداول
این نقشه راه چقدر زمان میبرد؟
با روزی ~۲ ساعت تمرین متمرکز، معمولاً ۴ تا ۶ ماه. پیشزمینهٔ فنی و تجربهٔ عملی میتواند این بازه را کموزیاد کند.
از کجا شروع به تمرین کنم؟
از لابهای محلی مثل DVWA و WebGoat آغاز کنید و سپس به PortSwigger Labs و ماشینهای وبِ Hack The Box بروید.
آیا لازم است همهٔ ابزارها را یاد بگیرم؟
نه؛ اما تسلط بر یک پروکسی رهگیر (Burp/ZAP)، یک اسکنر پایه، و مبانی لینوکس/پایتون ضروری است.