۰۷ اسفند ۱۴۰۴مبانی وبمبتدیزبان: فارسی
درخواست HTTP(HTTP)
مبتدینسخه انگلیسی
پیامی که توسط کلاینت به سرور ارسال میشود و درخواست یک منبع یا اقدام را دارد، و از قوانین پروتکل HTTP استاندارد پیروی میکند.
httpوبپروتکلدرخواستکلاینت-سرور
تعریف کوتاه
یک درخواست HTTP زمانی است که مرورگر شما (یا هر برنامهای) از سرور چیزی میخواهد: "این صفحه را به من بده" یا "این داده را ذخیره کن." این روشی است که همه چیز در وب با هم صحبت میکنند.
تعریف کامل
درخواست HTTP پیامی است با:
- متد (GET، POST، PUT، DELETE)
- URL (کجا ارسال شود)
- هدرها (متادیتا)
- بدنه (داده اختیاری)
متدهای رایج: GET (خواندن)، POST (ایجاد)، PUT (بهروزرسانی)، DELETE (حذف)
چرا مهم است
- پایه تمام ارتباطات وب
- APIها منحصراً از درخواستهای HTTP استفاده میکنند
- هر تست امنیتی شامل دستکاری درخواستها میشود
- ساختار درخواست بر عملکرد و کشینگ تأثیر میگذارد
چگونه مهاجمان از آن استفاده میکنند
- دستکاری پارامتر (حملات IDOR)
- تزریق هدر (دور زدن محدودیتهای IP)
- SSRF (فریب سرور برای ارسال درخواستهای مخرب)
- حملات تزریق (SQL، تزریق دستور)
- قاچاق HTTP
چگونه تشخیص یا پیشگیری کنیم
- همیشه از HTTPS استفاده کنید
- همه ورودیها را اعتبارسنجی کنید
- از پرسوجوهای پارامتری استفاده کنید
- محدودیت نرخ را اعمال کنید
- الگوهای مشکوک را ثبت کنید
باورهای غلط رایج
- "GET امن است، POST امن است" - هر دو نیاز به اعتبارسنجی دارند
- "HTTPS همه چیز را رمزنگاری میکند" - دامنه/IP همچنان قابل مشاهده است
- "سرورها درخواستها را به ترتیب پردازش میکنند" - با HTTP/2 تضمین نمیشود
مثال واقعی
SSRF در Capital One: برنامه URL تصویر را میپذیرفت و بدون اعتبارسنجی درخواست HTTP میفرستاد. مهاجم URL متادیتا را ارسال کرد و اعتبارنامه AWS را دریافت کرد.
اصطلاحات مرتبط
HTTP/HTTPS, API, Endpoint, URL, SSRF, Server