Directory Traversal Attacks

این نوع از آسیب پذیری با نام “حمله های پیمایش دایرکتوری” امکان دسترسی به دایرکتوری های محدود شده از طرف مدیر سرور و همچنین اجرای دستور هایی خارج از دایرکتوری ریشه وب سرور را برای هکر فراهم می سازد.

وب سرور ها دارای دو سطح اصلی از مکانیزم های امنیتی می باشند:

–  لیست های کنترل دسترسی (ACLs)
– دایرکتوری ریشه

لیست اول و یا همان لیست کنترل دسترسی، در فرایند ایجاد مجوز استفاده می شود. این لیست لیستی می باشد که مدیر وب سرور در جهت اعطای مجوز دسترسی فایل ها و دایرکتوری ها به کاربران و میزان حق دسترسی هر کدام از آن ها ایجاد می کند. برای مثال دایرکتوری ریشه پیش فرض IIS مسیر C:\Inetpub\wwwroot می باشد و کاربرا اجازه دسترسی به مسیر  C:\Windows را ندارد اما اجازه دسترسی به مسیر C:\Inetpub\wwwroot\news و سایر دایرکتوری و فایل های ریشه را دارد.

دایرکتوری ریشه، دایرکتوری مشخص شده ای روی سرور می باشد که کاربران به آن محدود شده اند. کاربران امکان دسترسی به بالاتر از آن دایرکتوری را نخواهند داشت.

مثالی از حمله از طریق کد نرم افزار تحت وب

در نرم افزار تحت وبی با صفحات پویا که از طریق کاوشگر ورودی خود را از کاربر توسط متد های GET یا POST دریافت می کند، URL زیر موجود است. با این درخواست نرم افزار به کاربر، صفحات وب سایت خود را نمایش می دهد.

http://test.webarticles.com/show.asp?view=oldarchive.html

هکر قادر خواهد بود در صورتی که مدیر وب سایت به درستی وب سرور خود را تنظیم نکرده باشد با درخواست زیر به فایل های سیستمی سرور دسترسی پیدا کند.

http://test.webarticles.com/show.asp?view=

../../../../../Windows/system.ini

این درخواست سبب می شود محتویات فایل ini به کاربر نمایش داده شود. تنها هکر کافی بود میزان دایرکتوری هایی که می بایستی به بالا یا عقب برگدانده شود تا به دایرکتوری ویندوز برسد را حدس بزند.

چگونه از این حمله جلوگیری کنیم؟

اول از همه مطمئن شوید که آخرین نسخه وب سرور مورد استفاده را نصب کرده اید و یا در غیر این صورت آن را بروز نمایید و همچنین مطمئن شوید تمامی patch های آن را نصب و اعمال نموده اید. دوما تمامی ورودی کاربران را فیلتر نمایید. مخصوصا اجازه ندهید که متا کارکتر ها، داخل ورودی های کاربران قابل درج باشد.