در حال بارگذاری...
بررسی متدهای HTTP مجاز روی سرور و شناسایی متدهای خطرناک مثل PUT، DELETE و TRACE.
اهداف این درس
متدهای HTTP (HTTP Methods) عملیاتی هستند که کلاینت میتواند روی منابع سرور انجام دهد. هر متد هدف خاصی دارد و برخی متدها خطرناکتر از سایرین هستند. تست متدهای HTTP شامل شناسایی متدهای مجاز و بررسی خطرات امنیتی آنها است.
| متد | کاربرد | خطر |
|---|---|---|
| GET | دریافت محتوا | کم |
| POST | ارسال داده | متوسط |
| PUT | آپلود/جایگزینی منبع | بالا |
| DELETE | حذف منبع | بالا |
| PATCH | تغییر جزئی منبع | متوسط |
| HEAD | دریافت هدرها | کم |
| OPTIONS | شناسایی متدهای مجاز | کم |
| TRACE | بازگشت درخواست | بالا |
| CONNECT | اتصال تونل | متوسط |
با ارسال درخواست OPTIONS، لیست متدهای مجاز را شناسایی کنید.
1# درخواست OPTIONS2curl -X OPTIONS -I https://target.com34# بررسی متد خاص5curl -X PUT -I https://target.com/test.txt6curl -X DELETE -I https://target.com/test.txt7curl -X TRACE -I https://target.com89# تست با ابزار Nmap10nmap --script http-methods -p 80,443 target_ipمتدهای خطرناک مثل PUT، DELETE و TRACE را تست کنید تا ببینید آیا واقعاً فعال هستند و چه تأثیری دارند.
تست متد PUT
تست آپلود فایل با متد PUT:
1curl -X PUT -d 'test content' https://target.com/test.txt2curl https://target.com/test.txtاگر متد TRACE فعال باشد، میتواند منجر به حمله Cross-Site Tracing (XST) شود. در این حمله، مهاجم میتواند کوکیهای احراز هویت را سرقت کند.
متدهای HTTP غیرضروری میتوانند منجر به آپلود فایلهای مخرب، حذف منابع مهم، سرقت کوکیها و دسترسی غیرمجاز به سیستم شوند.
1# غیرفعال کردن متد TRACE2TraceEnable off34# محدود کردن متدها5<LimitExcept GET POST>6 Deny from all7</LimitExcept>1# محدود کردن متدها2if ($request_method !~ ^(GET|HEAD|POST)$) {3 return 405;4}متد OPTIONS لیست متدهای مجاز را نشان میدهد.
متدهای PUT و DELETE میتوانند فایلها را تغییر یا حذف کنند.
متد TRACE باید در محیط تولید غیرفعال باشد.
کدام متد HTTP برای شناسایی متدهای مجاز استفاده میشود؟
چرا متد TRACE خطرناک است؟
متد TRACE درخواست را بهصورت عینی برمیگرداند. اگر مرورگر کوکیهای احراز هویت داشته باشد، مهاجم میتواند از طریق Cross-Site Tracing (XST) به این کوکیها دسترسی پیدا کند.