حمله Directory listing در وب سرور آپاچی و جلوگیری از آن

حمله Directory listing در وب سرور آپاچی و جلوگیری از آن

Directory listing حمله ایست که هکر را قادر می سازد تا به دایرکتوری های وب سرور آپاچی دسترسی پیدا کند که می تواند به هکر کمک کند تا بتواند به سرعت منابع را در یک مسیر مشخص شناسایی کند و به طور مستقیم به تجزیه و تحلیل و حمله به آن منابع اقدام کند. این حمله باعث می شود تا فایل های حساس که قابل دسترس کاربر کاربر نیستند، مانند فایل ها و دایرکتوری های مهم روی سرور و… در معرض خطر قرار گیرند.

برای نمونه شما فرض کنید در وب سرور خود پوشه ای با نام secret دارید که درون آن فایل های شخصی (مانند پسوردها، نام های کاربری، شماره ها و…) خود را ذخیره کرده اید. حال هکر با استفاده از ابزارهای تست نفوذ خود، نام پوشه شما را به دست می آورد و با وجود این آسیب پذیری بر روی سرور شما، می تواند به محتویات داخل پوشه شما دسترسی داشته باشد.

http://www.example.com/secret
باگ پیمایش دایرکتوری ها (directory listing)

چگونه مرور دایرکتوری (Directory listing) را در وب سرور آپاچی غیرفعال کنیم؟

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

قبل از هر کاری باید سرویس آپاچی خود رو با دستور زیر استارت کنیم.

service apache2 start

سپس به مسیر var/www/html رفته و یک پوشه با نام دلخواه می سازیم.

mkdir Directory

حالا برای مخفی کردن پوشه به مسیر etc/apache2 رفته و apache2.conf را با ویرایشگر nano باز می کنیم.

nano apache2.conf

با فشردن کلید ترکیبی Ctrl+w به دنبال کلمه indexes می گردیم.

سپس مسیر پوشه را به var/www اضافه می کنیم و کلمه indexes را پاک می کنیم.

حال برای خروج از ویرایشگر کلیدهای ترکیبی Ctrl+x را میزنیم و با کلید Y تغییرات را save می کنیم و با Enter خارج می شویم.

در ادامه باید سرویس آپاچی را دوباره راه اندازی کنیم که از دستور زیر در محیط ترمینال استفاده می کنیم.

service apache2 restart

حال اگر مسیر دایرکتوری خود را در مرورگر باز کنیم با ارور Forbidden مواجه خواهیم شد.

localhost/(file name)

غیرفعال کردن Directory listing از طریق فایل htaccess.

بهترین راه برای غیرفعال کردن Directory listing استفاده از فایل htaccess است.

در سایت های وردپرسی شما میتوانید از قسمت “تنظیمات ” در پنل مدیریتی وردپرس، گزینه “پیوندهای یکتا” را انتخاب کرده و روی ذخیره تغییرات کلیک نمایید. با انجام این کار وردپرس به صورت پیش فرض فایل htaccess را با کدهای زیر ایجاد می کند.

#kaliboys.com
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

حال برای غیرفعال کردن این قابلیت، کد زیر را به انتهای این کدها اضافه می کنیم.

Options All -Indexes

بعد از اعمال این تغییرات، اگر بازدید کننده قصد مشاهده دایرکتوری های شما را از طریق URL داشت، با ارور Forbidden مواجه خواهد شد.

1 دیدگاه
  1. محمد می گوید

    عالی بود

نوشتن دیدگاه

آدرس ایمیل شما منتشر نخواهد شد.