جستجو پیشرفته محصولات
0
سبد خرید خالی است.
ورود | ثبت نام
با ورود و یا ثبت نام در زیرزمین سایبری شما شرایط و قوانین استفاده از سرویس‌های سایت را می‌پذیرید.

آموزش کامل پروتکل HTTP برای تست نفوذ وب

تصویر مقاله آموزش پروتکل HTTP برای وب به همراه ویدیو

پروتکل HTTP و HTTPS چیست؟

پروتکل HTTP برای تست نفوذ وب یکی از پایه‌ای‌ترین مفاهیمی است که هر فرد علاقه‌مند به دنیای امنیت سایبری و هک وب باید به‌خوبی آن را درک کند. HTTP یا HyperText Transfer Protocol مجموعه قوانینی است که نحوه ارتباط میان کلاینت (مرورگر) و سرور وب را تعریف می‌کند. این پروتکل بدون هیچ رمزنگاری، داده‌ها را میان مرورگر و سرور جابه‌جا می‌کند؛ یعنی اگر شما در حال مشاهده یک وب‌سایت هستید، اطلاعاتی مانند نام کاربری، رمز عبور، یا داده‌های حساس دیگر ممکن است به‌صورت متن ساده (Plaintext) در شبکه ارسال شوند. این مسئله باعث می‌شود HTTP به هدفی جذاب برای مهاجمان تبدیل شود. در مقابل، HTTPS نسخه‌ای از این پروتکل است که با استفاده از SSL/TLS ارتباط را رمزنگاری می‌کند و از این طریق امنیت ارتباط را تضمین می‌کند. در تست نفوذ، دانستن تفاوت میان HTTP و HTTPS اهمیت زیادی دارد، زیرا حملاتی مانند Man-in-the-Middle، Session Hijacking و Packet Sniffing به‌راحتی روی ارتباطات HTTP قابل انجام هستند، اما در HTTPS کار بسیار سخت‌تری خواهند داشت. بنابراین، شناخت این پروتکل و بررسی نحوه عملکرد آن، نقطه آغازین مهمی در دنیای تست نفوذ وب است.

ساختار URL و ارسال درخواست

یکی از بخش‌های حیاتی در درک پروتکل HTTP برای تست نفوذ وب، آشنایی با ساختار URL و نحوه ارسال درخواست‌هاست. URL (Uniform Resource Locator) درواقع آدرس اینترنتی‌ای است که مرورگر یا ابزار تست نفوذ برای دسترسی به منابع خاصی از آن استفاده می‌کند. این آدرس اینترنتی از بخش‌های مختلفی تشکیل شده است: Scheme که نشان‌دهنده نوع پروتکل (مثلاً HTTP یا HTTPS) است، بخش User:Password که گاهی برای ورود مستقیم به سیستم‌های دارای احراز هویت پایه استفاده می‌شود، Host یا همان دامنه یا IP مقصد، Port که نشان‌دهنده شماره پورت برای اتصال به سرویس خاصی روی سرور است، Path که مسیر فایل یا صفحه مورد نظر را مشخص می‌کند، Query String که شامل پارامترهایی برای ارسال اطلاعات به سرور است (مثلاً ?id=1)، و Fragment که اشاره به بخش خاصی از صفحه دارد. در بسیاری از آسیب‌پذیری‌های وب مانند SQL Injection یا XSS، همین بخش‌های URL (به‌ویژه Query String) محل حمله هستند. بنابراین، تحلیل دقیق URL و فهمیدن چگونگی ساختار و نحوه عملکرد آن، نقش کلیدی در کشف آسیب‌پذیری‌های سمت کلاینت و سرور ایفا می‌کند.

نمونه ساختار یک URL:

				
					http://user:pass@site.com:80/page?id=1#section
				
			

تحلیل اجزای URL:

  • Scheme: نوع پروتکل (HTTP, HTTPS)
  • User:Password: برای لاگین مستقیم
  • Host: دامنه یا IP
  • Port: پورت اتصال (معمولاً 80 یا 443)
  • Path: مسیر فایل یا صفحه
  • Query: اطلاعات اضافی مثل id=1
  • Fragment: قسمت خاصی از صفحه
آموزش پروتکل HTTP

تحلیل دقیق Request و Response در HTTP

در مسیر درک پروتکل HTTP برای تست نفوذ وب، تحلیل درخواست‌ها (Requests) و پاسخ‌ها (Responses) ضروری و حیاتی است. وقتی مرورگر یا ابزار تست نفوذ شما قصد دارد داده‌ای را از یک سرور دریافت کند، ابتدا یک HTTP Request ارسال می‌کند. این درخواست ممکن است شامل متد (مانند GET یا POST)، مسیر فایل، نسخه پروتکل و هدرهای مختلف باشد. سرور پس از پردازش درخواست، یک HTTP Response بازمی‌گرداند که شامل کد وضعیت (مثل 200 OK یا 404 Not Found)، نوع داده، هدرهای پاسخ و گاهی بدنه HTML یا JSON است. تحلیل دقیق این پیام‌ها به ما این امکان را می‌دهد که بدانیم سرور چگونه به درخواست‌ها واکنش نشان می‌دهد و آیا نقاط ضعف امنیتی در آن وجود دارد یا خیر. برای مثال، در صورتی که یک سرور هنگام دریافت پارامتر اشتباه خطای 500 Internal Server Error را برگرداند، ممکن است نشان‌دهنده آسیب‌پذیری مانند SQL Injection باشد. یا اگر به هدر Server دقت کنیم، ممکن است بتوانیم نوع نرم‌افزار یا نسخه آسیب‌پذیر آن را شناسایی کنیم. مشاهده دقیق این داده‌ها در ابزارهایی مثل Burp Suite یا Wireshark می‌تواند به ما کمک کند تا ارتباط میان کلاینت و سرور را مهندسی معکوس کرده و مسیرهای حمله را شناسایی کنیم.

مطلب پیشنهادی:   دسترسی شل چیست

🔸 نمونه Request:

				
					GET / HTTP/1.1
Host: zerodey.ir
User-Agent: Mozilla/5.0
Referer: https://zerodey.ir/

				
			

تحلیل : 

  • خط اول: از متد GET استفاده شده و هدف / (ریشه سایت) است. نسخه پروتکل HTTP نیز مشخص شده (1.1).
  • Host: سرورهایی که چندین سایت را میزبانی می‌کنند با استفاده از این هدر متوجه می‌شوند که کدام دامنه منظور کاربر است.
  • User-Agent: مشخص می‌کند که کلاینت از چه مرورگر یا نرم‌افزاری استفاده می‌کند. ممکن است برای ردیابی یا تغییر ظاهر سایت استفاده شود.
  • Referer: صفحه‌ای که کاربر از آن به این صفحه هدایت شده. در حملات CSRF یا ردگیری کاربران مهم است.

🔸 نمونه Response:

				
					HTTP/1.1 200 OK
Server: nginx/1.15.8
Date: Fri, 09 Apr 2021 13:34:03 GMT
Content-Type: text/html
Content-Length: 98

<html>
<head><title>Zerodey</title></head>
<body data-rsssl=1>Welcome To Zerodey.ir</body>
</html>

				
			

تحلیل : 

  • 200 OK: به معنی موفق بودن درخواست.
  • Server: اطلاعاتی درباره نوع و نسخه سرور. در اکسپلویت آسیب‌پذیری‌های خاص سرورها بسیار مفید است.
  • Date: زمان پاسخ سرور (برای بررسی تاخیرها یا تحلیل زمان سرور مفید است).
  • Content-Type: نوع داده (در اینجا HTML). در حملات MIME Type Confusion یا Bypass مهم است.
  • Content-Length: اندازه داده برحسب بایت. اگر داده ناقص باشد یا تغییر کند، این مقدار مغایرت خواهد داشت.

متدهای رایج HTTP

در پروتکل HTTP برای تست نفوذ وب، یکی از مهم‌ترین مفاهیمی که باید به‌خوبی درک شود، انواع متدهای HTTP است. هر درخواست HTTP دارای یک متد است که مشخص می‌کند کلاینت قصد دارد چه عملیاتی روی سرور انجام دهد. متداول‌ترین متدها شامل GET، POST، PUT، و DELETE هستند. متد GET برای دریافت اطلاعات از سرور بدون ایجاد تغییر استفاده می‌شود و داده‌ها در URL نمایش داده می‌شوند. در مقابل، POST برای ارسال داده‌های حساس مانند فرم‌های لاگین یا ثبت‌نام استفاده می‌شود و داده‌ها در بدنه درخواست قرار می‌گیرند. PUT معمولاً برای به‌روزرسانی منابع موجود در سرور به کار می‌رود و DELETE برای حذف منابع استفاده می‌شود. در تست نفوذ، دانستن اینکه یک سرور چه متدهایی را پشتیبانی می‌کند بسیار مهم است. ممکن است سروری بدون احراز هویت، متد PUT یا DELETE را بپذیرد و این می‌تواند راهی برای آپلود فایل مخرب یا حذف داده‌های مهم فراهم کند. ابزارهایی مانند Burp Suite و curl به ما امکان تست این متدها را می‌دهند تا بفهمیم سرور چگونه پاسخ می‌دهد. متدهای HTTP در واقع روش‌های تعامل ما با سرور هستند و درک صحیح آن‌ها مسیر کشف آسیب‌پذیری‌ها را هموار می‌کند.

کدهای وضعیت HTTP

یکی دیگر از عناصر کلیدی در یادگیری پروتکل HTTP برای تست نفوذ وب، کدهای وضعیت HTTP یا همان HTTP Status Codes هستند. هر زمان که کلاینت یک درخواست به سرور ارسال می‌کند، سرور در پاسخ یک کد وضعیت بازمی‌گرداند که نشان‌دهنده نتیجه پردازش آن درخواست است. این کدها به پنج دسته اصلی تقسیم می‌شوند: 1xx (اطلاعاتی)، 2xx (موفقیت‌آمیز)، 3xx (ریدایرکت)، 4xx (خطای کلاینت)، و 5xx (خطای سرور). در تست نفوذ، تحلیل این کدها نقش اساسی در شناسایی رفتار سرور ایفا می‌کند. به عنوان مثال، کد 200 OK نشان‌دهنده موفقیت درخواست است، در حالی که کد 404 Not Found به ما می‌گوید که منبع مورد نظر وجود ندارد. کدهایی مثل 403 Forbidden و 401 Unauthorized به ما نشان می‌دهند که دسترسی به منبع خاصی محدود شده است. اما شاید مهم‌تر از همه، کدهای 500 Internal Server Error باشند که در پاسخ به درخواست‌های خاص نمایش داده می‌شوند و می‌توانند نشانه‌ای از خطاهای پردازش داخلی، یا حتی وجود آسیب‌پذیری‌هایی مانند SQL Injection باشند. یک تستر امنیتی حرفه‌ای با تحلیل دقیق همین کدها می‌تواند بسیاری از مسیرهای حمله را کشف کرده و نقشه امنیتی سایت را ترسیم کند.

مطلب پیشنهادی:   آموزش بایپس آنتی ویروس

کدهای وضعیت یا Status Codes به پنج دسته تقسیم می‌شوند:

  • 1xx: اطلاعاتی (کم کاربرد)
  • 2xx: موفقیت‌آمیز (200, 201)
  • 3xx: ریدایرکت‌ها (301, 302)
  • 4xx: خطاهای سمت کلاینت (400, 401, 403, 404)
  • 5xx: خطاهای سمت سرور (500, 503)

📌 مهم‌ترین کدها:

  • 200 OK: موفقیت‌آمیز
  • 301 Moved Permanently: ریدایرکت دائمی
  • 302 Found: ریدایرکت موقت
  • 400 Bad Request: خطای سینتکسی یا پارامتر نامعتبر
  • 401 Unauthorized: نیاز به احراز هویت
  • 403 Forbidden: دسترسی غیرمجاز حتی با لاگین
  • 404 Not Found: منبع یافت نشد
  • 500 Internal Server Error: خطای داخلی سرور (در تست‌های fuzzing دیده می‌شود)

✅ در اسکن آسیب‌پذیری‌ها، دنبال کدهایی مانند 500، 403، و 200 باشید تا مسیرهای حساس یا خطاهای پنهان را شناسایی کنید.

هدرها و کوکی‌ها

در پروتکل HTTP برای تست نفوذ وب، هدرها (Headers) و کوکی‌ها (Cookies) اطلاعات کلیدی‌ای هستند که نقش تعیین‌کننده‌ای در ارتباطات میان کلاینت و سرور دارند. هدرهای HTTP بخش‌هایی از درخواست یا پاسخ هستند که اطلاعات تکمیلی درباره ارتباط، مرورگر، نوع داده و سایر پارامترها را شامل می‌شوند. به عنوان مثال، در هدر User-Agent، نوع مرورگر یا ابزار تست مشخص می‌شود، در Host دامنه هدف تعیین می‌شود، و در Content-Length طول داده ارسالی مشخص می‌گردد. از طرف دیگر، پاسخ سرور نیز شامل هدرهایی مانند Set-Cookie (برای ایجاد کوکی جدید)، Content-Type (نوع داده مثل HTML یا JSON) و Cache-Control (برای مدیریت کش مرورگر) است. کوکی‌ها خود فایل‌های کوچکی هستند که برای حفظ نشست، احراز هویت، و ذخیره‌سازی اطلاعات کاربر در سمت کلاینت استفاده می‌شوند. در حملات مانند Session Hijacking، اگر کوکی نشست به‌درستی محافظت نشده باشد، مهاجم می‌تواند آن را ربوده و به‌عنوان کاربر وارد شود. همچنین در حملات XSS، کوکی‌ها می‌توانند هدف مهاجم برای سرقت اطلاعات حساس باشند. بررسی دقیق این عناصر با ابزارهایی مثل Burp Suite و مرورگرهای پیشرفته، به تستر کمک می‌کند تا نحوه رفتار اپلیکیشن را درک کرده و نقاط ضعف آن را شناسایی کند. بنابراین، تسلط بر مفاهیم هدرها و کوکی‌ها نه‌تنها برای تحلیل، بلکه برای حمله نیز ضروری است.

تصویر هکر برای وب

🔸 Request Headers مهم:

  • Host: تعیین دامنه مورد نظر
  • User-Agent: تشخیص مرورگر یا ابزار تست (مثلاً Burp Suite)
  • Content-Length: اندازه داده ارسالی
  • Cookie: اطلاعات نشست یا احراز هویت
  • Accept-Encoding: نوع فشرده‌سازی قابل پشتیبانی

    🔸 Response Headers مهم:
  • Set-Cookie: تنظیم کوکی جدید برای کاربر
  • Content-Type: نوع داده برگشتی
  • Cache-Control: مدت زمان ذخیره در کش مرورگر
  • Content-Encoding: فشرده‌سازی مانند gzip

    🔸 کوکی‌ها:
  • کوکی‌ها تکه‌ای کوچک از اطلاعات هستند که توسط سرور به کلاینت ارسال و ذخیره می‌شوند. برای حفظ نشست‌ها، احراز هویت، تنظیمات کاربر و ردیابی استفاده می‌شوند.
  • مثال حملات رایج مرتبط با کوکی:
  • Session Hijacking: سرقت کوکی نشست و استفاده از آن
  • Cookie Poisoning: تغییر محتوای کوکی برای دسترسی غیرمجاز
  • Insecure Cookie Flags: مانند HttpOnly یا Secure نبودن

نتیجه گیری پروتکل HTTP برای تست نفوذ وب

شناخت دقیق پروتکل HTTP برای تست نفوذ، پایه‌ای‌ترین مهارت برای هر هکر یا تستر امنیتی است. شما با درک ساختار درخواست‌ها، پاسخ‌ها، هدرها، متدها و کوکی‌ها می‌توانید تحلیل دقیق‌تری انجام داده، آسیب‌پذیری‌ها را شناسایی کنید و درک عمیق‌تری از کارکرد نرم‌افزارهای تحت وب داشته باشید. همچنین در ادامه یکسری ویدیو آموزشی هم در اختیارتون قرار میدیم که راحت و بدون مشکل این مطالب رو به صورت ویدیویی یاد بگیرید و به HTTP مسلط بشید .

باکس دانلود

دانلود آموزش پروتکل HTTP
مخصوص اعضا

این بخش مخصوص اعضا می باشد، جهت دسترسی ابتدا وارد شوید.
درباره نویسنــده
نویسنده
کورش سنایی
نظرات کاربـــران
فاقد دیدگاه
دیدگاهی برای این مطلب ثبت نشده است. اولین دیدگاه را شما بنویسید.
ثبت دیدگاه
captcha
دوره های هک و امنیت
دوره آموزش باگ بانتی
4,485,000
48%
2,350,000 تومان
آموزش
جــدید
10
دانشجو
دوره های هک و امنیت
دوره آموزشی ترموکس
500,000
30%
350,000 تومان
80%
رضایت
19
دانشجو
دوره های هک و امنیت
PACK STARTER
1,499,000 تومان
آموزش
جــدید
23
دانشجو
دوره های هک و امنیت
دوره آموزش ساخت Badusb
1,600,000
65%
560,000 تومان
آموزش
جــدید
47
دانشجو
ابزارهای هک و امنیت
کرکر وردپرس
1,400,000
68%
449,700 تومان
آموزش
جــدید
16
دانشجو
1,499,000
67%
499,000 تومان
100%
رضایت
23
دانشجو