حملات پیمایش دایرکتوری، که به عنوان حملات پیمایش مسیر نیز شناخته میشوند، خطر قابل توجهی را در حوزه امنیت وب نشان میدهند. آنها در درجه اول از آسیب پذیری امنیتی در عملکرد یک برنامه وب برای دسترسی به فایل های موجود در سرور سوء استفاده می کنند. این حملات یک کاربر شرور را قادر میسازد تا به فایلها و دایرکتوریهایی که در خارج از پوشه webroot ذخیره شدهاند، با دستکاری متغیرهایی که به فایلها با دنبالههای “dot-dot-slash (../)” ارجاع میدهند دسترسی پیدا کند.
تکامل حملات پیمایش دایرکتوری
منشأ حملات پیمایش دایرکتوری را می توان به روزهای اولیه اینترنت ردیابی کرد، زمانی که برنامه های کاربردی وب برای اولین بار شروع به استفاده از اسکریپت ها برای دسترسی به فایل های سمت سرور کردند. با پیشرفت تکنولوژی و پیچیده تر شدن برنامه های کاربردی وب، پتانسیل این نوع آسیب پذیری ها نیز افزایش می یابد.
به دلیل ماهیت اساسی این آسیب پذیری، شناسایی اولین اشاره عمومی از حملات پیمایش دایرکتوری تا حدودی دشوار است. با این حال، نگرانی امنیتی در اواخر دهه 1990 و اوایل دهه 2000 برجسته تر شد، زیرا برنامه های کاربردی وب رایج شدند و فرصت ها برای بهره برداری از منابع فایل های ناامن افزایش یافت.
گسترش حملات پیمایش دایرکتوری
حمله پیمایش دایرکتوری شکلی از سوء استفاده HTTP است که در آن یک هکر به دایرکتوری سروری دسترسی پیدا می کند که معمولاً در دسترس عموم نیست. مهاجم از اعتبار سنجی امنیتی ناکافی یا پاکسازی نام فایل های ورودی ارائه شده توسط کاربر سوء استفاده می کند و در نتیجه آنها را قادر می سازد از محیط محدود خارج شوند.
رایج ترین استفاده از دنباله های پیمایش دایرکتوری در حملات مبتنی بر URL است، اما می توانند در تزریق هدر، دستکاری کوکی ها یا حتی در پارامترهای POST نیز ظاهر شوند. از این طریق، مهاجمان می توانند دایرکتوری های محدود شده را مشاهده کنند و دستوراتی را خارج از دایرکتوری اصلی وب سرور اجرا کنند، در نتیجه دسترسی غیرمجاز به اطلاعات حساس به دست می آورند.
حملات پیمایش دایرکتوری چگونه کار می کنند
یک حمله پیمایش دایرکتوری با بهرهبرداری از اعتبارسنجی/ضد بهداشت ناکافی نام فایلهای ورودی ارائهشده توسط کاربر کار میکند، بنابراین مهاجم میتواند آنها را دستکاری کند تا به خارج از مکان محدود بپرد.
به شکلی بسیار ساده شده، بیایید سناریویی را در نظر بگیریم که در آن یک برنامه در حال تلاش برای دسترسی به فایل تصویری از سرور است:
آردوینوhttp://example.com/app?file=logo.jpg
در این صورت، برنامه فایل را باز می کند logo.jpg
از دایرکتوری تصاویر آن با این حال، یک مهاجم میتواند از دنبالههای «dot-dot-slash (../)» برای حرکت به فهرست اصلی استفاده کند، سپس به فایلهای غیرمجاز دسترسی پیدا کند. برای مثال:
ضربه شدیدhttp://example.com/app?file=../../etc/passwd
این می تواند منجر به نمایش فایل های حساس سیستم توسط برنامه شود.
ویژگی های کلیدی حملات پیمایش دایرکتوری
-
دستکاری متغیرها: ویژگی اساسی یک حمله پیمایش دایرکتوری شامل دستکاری متغیرهایی است که فایل ها را با توالی های "dot-dot-slash (../)" ارجاع می دهند.
-
شکستن محدودیت ها: مهاجم را قادر می سازد تا از دایرکتوری اصلی برنامه خارج شود و به سایر قسمت های سیستم فایل دسترسی پیدا کند.
-
بهره برداری از اعتبارسنجی ضعیف: حملات پیمایش دایرکتوری از اعتبار سنجی ضعیف یا سالم سازی ورودی های کاربر سوء استفاده می کنند.
انواع حملات پیمایش دایرکتوری
در حالی که اصل اصلی پشت حملات پیمایش دایرکتوری یکسان است، آنها می توانند بر اساس زمینه و برنامه مورد نظر به روش های مختلفی ظاهر شوند:
-
حملات مبتنی بر URL: این شامل تزریق ورودی مخرب در URL برای عبور از دایرکتوری ها است.
-
حملات مبتنی بر فرم: ورودی های مخرب در فیلدهای فرم برای سوء استفاده از اسکریپت های آسیب پذیر سمت سرور درج می شوند.
-
حملات مبتنی بر کوکی: مهاجمان کوکی ها را دستکاری می کنند تا از فهرست ها عبور کنند و به داده های غیرمجاز دسترسی پیدا کنند.
تایپ کنید | شرح |
---|---|
حملات مبتنی بر URL | ورودی مخرب را در URL برای عبور از دایرکتوری ها وارد کنید. |
حملات مبتنی بر فرم | برای بهره برداری از اسکریپت های سمت سرور، ورودی های مخرب را در فیلدهای فرم وارد کنید. |
حملات مبتنی بر کوکی | کوکی ها را برای عبور از فهرست ها و دسترسی به داده های غیرمجاز دستکاری کنید. |
مشکلات و راه حل های مرتبط با حملات پیمایش دایرکتوری
مشکل اصلی حملات پیمایش دایرکتوری، دسترسی غیرمجاز به فایلها و دادههای حساس است. این می تواند منجر به نشت داده ها، از دست دادن محرمانه بودن، و به طور بالقوه ارائه بردارهای حمله بیشتر به مهاجم شود (مانند دریافت اعتبار پایگاه داده از فایل های پیکربندی).
در اینجا چند راه حل وجود دارد:
-
اعتبار سنجی ورودی: از اعتبارسنجی قوی ورودی های ارائه شده توسط کاربر اطمینان حاصل کنید. به «..» یا «/» به عنوان بخشی از ورودیها اجازه ندهید.
-
کنترل دسترسی: اجرای کنترل دسترسی مناسب برای مجوز دادن به کاربر، تنها به مسیر فایل ارائه شده متکی نباشید.
-
اصل کمترین امتیاز: برنامه را با کمترین امتیازات لازم اجرا کنید و آسیب احتمالی ناشی از حمله پیمایش دایرکتوری را کاهش دهید.
حملات پیمایش دایرکتوری و شرایط مشابه
مدت، اصطلاح | شرح |
---|---|
حمله پیمایش دایرکتوری | از یک آسیب پذیری در رویه های ورودی کاربر برای دسترسی به فایل ها و دایرکتوری های غیرمجاز سوء استفاده می کند. |
گنجاندن فایل از راه دور (RFI) | یک مهاجم از مسیرهای ورودی کاربر برای آپلود یک اسکریپت مخرب در سرور یک وب سایت استفاده می کند. |
گنجاندن فایل محلی (LFI) | یک مهاجم یک وب سایت را برای اجرا یا افشای محتویات فایل ها در وب سرور دستکاری می کند. |
چشم اندازهای آینده و فناوری های مرتبط با حملات پیمایش دایرکتوری
با تکامل چشم انداز توسعه وب، روش ها و ابزارهای انجام حملات پیمایش دایرکتوری ممکن است پیچیده تر شوند. با این وجود، اساس پیشگیری احتمالاً همچنان در اعتبارسنجی ورودی قوی و پیکربندی معقول سیستم نهفته است.
فایروال های برنامه های کاربردی وب، سیستم های تشخیص ناهنجاری و الگوریتم های یادگیری ماشین برای سیستم های تشخیص نفوذ می توانند نقش مهمی در استراتژی های کاهش آتی در برابر چنین حملاتی ایفا کنند.
ارتباط بین سرورهای پروکسی و حملات پیمایش دایرکتوری
سرورهای پروکسی می توانند به عنوان یک لایه امنیتی اضافی در برابر حملات پیمایش دایرکتوری عمل کنند. با فیلتر کردن درخواستها و پاسخها بین مشتری و سرور، آنها میتوانند به شناسایی الگوهای غیرعادی یا نشانههای حملات پیمایش دایرکتوری کمک کنند و در نتیجه از رسیدن آنها به سرور جلوگیری کنند.
به عنوان مثال، OneProxy یک راه حل قدرتمند سرور پروکسی ارائه می دهد که می تواند نقش کلیدی در استراتژی دفاعی شما در برابر این نوع حملات ایفا کند.