ارزیابی مدیریت پسوند فایلها برای اطلاعات حساس
در این بخش از دوره آموزشی OWASP-OTG به دومین بخش از استاندارد OTG با شناسه OTG-CONFIG-003 می پردازیم که مربوط به ارزیابی مدیریت پسوند فایلها برای اطلاعات حساس می باشد.
مقدمه
پسوند فایلها در وب سرور نوع فنآوری، زبان برنامهنویسی و پلاگینهای استفاده شده را مشخص میکنند. از آنجایی که پسوند فایلها از استانداردهای وب و RFC تبعیت میکنند، استفاده از پسوندهای استاندارد اطلاعاتی در خصوص فنآوری وب سرور در اختیار نفوذگر قرار میدهد. نفوذگر، در ادامه، میتواند از این اطلاعات برای تعیین سناریو حمله و نفوذ، استفاده کند. علاوه بر این، پیکربندی نادرست وب سرور نیز میتواند اطلاعات محرمانه را فاش کند.
بررسی و چک پسوندها به منظور اعتبارسنجی فایلهای بارگذاری شده استفاده میشود. در صورت عدم اعتبارسنجی، فایلهای بارگذاری شده با محتوای نامعلوم میتوانند نتایج مخربی داشته باشند.
تعیین نحوه مدیریت درخواستهای وب سرور در رابطه با فایلهایی که پسوندهای متفاوت دارند، میتواند در درک رفتار سرور بر اساس نوع فایلهای دسترسی شده، کمک کند.
به عنوان مثال، میتوان از این طریق پسوند فایلهایی متنی و اجرایی سمت سرور را پیدا کرد. پسوندهای اجرایی نشانگر فنآوری، زبان برنامهنویسی و پلاگینهای استفاده شده در وب سرور یا اپلیکیشن سرور هستند و میتوانند اطلاعات اضافی در مورد مهندسی اپلیکیشن فراهم کنند. به عنوان مثال، پسوند .pl معمولاً معرف Perl در سمت سرور است.
با این حال، گاهی اوقات پسوند فایل میتواند گمراهکننده باشد. به عنوان مثال، فایلهای Perl در سمت سرور میتوانند با تغییر نام، حقیقیت وجود Perl را مخفی کنند. در قسمت بعدی، اطلاعات بیشتری راجع به نحوه تشخیص فنآوری و اجزای سرور آورده شده است.
چگونه تست و ارزیابی کنیم؟
مرور زوری و اجباری
درخواستهای مختلفی را با پسوندهای مختلف ارسال کرده و نحوه مدیریت آنها را مشخص کنید. بررسی و تایید نحوه مدیریت باید بر اساس هر دایرکتوری باشد. دایرکتوریهایی که اجازه اجرای اسکریپت میدهند را مشخص کنید. دایرکتوریها نیز توسط ابزارهای اسکن که به دنبال مسیرهای شناخته شده هستند، شناسایی میشوند.
همچنین، اخذ یک کپی از ساختار وبسایت به نفوذگر اجازه میدهد تا بتواند درخت دایرکتوریهای اپلیکیشن را بازسازی کند.
اگر معماری وب اپلیکیشن لودبالانس است، ضروری است که همه وب سرورها را ارزیابی کنید. ضریب سختی این عمل بستگی به پیکربندی زیرساختی لودبالانسینگ دارد. در یک زیرساخت با اجزای جایگزین، احتمالاً بین پیکربندی وب سرورها و اپلیکیشن سرورها تفاوت جزئی وجود داشته باشد. این امر میتواند ناشی از فنآوریهای مختلف و ناهمگون استفاده شده در معماری وب باشد.
به عنوان مثال، استفاده همزمان از وب سرورهای آپاچی و IIS در لودبالانسینگ، میتواند منجر به رفتار غیرمتقارن بین آنها و بروز احتمالی آسیبپذیریهای گوناگون بشود.
مثال
ارزیاب امنیتی یک فایل به نام connection.inc را شناسایی کرده است. محتویات داخل آن به صورت زیر است:
ارزیاب امنیتی به وجود پایگاهداده MySQL و اطلاعات هویتی ضعیف استفاده شده توسط اپلیکیشن برای دسترسی به آن، پی برد.
پسوندهای زیر هرگز نباید توسط وب سرور بازگردانده شوند، زیرا آنها مربوط به فایلهایی هستند که اطلاعات حساسی داشته یا دلیلی برای نمایش آنها به کاربر وجود ندارد:
• .asa
• .inc
• .config
پسوندهای زیر مربوط به فایلهایی هستند که در صورت دسترسی، محتویات آنها توسط مرورگر نمایش یا دانلود میشود. بنابراین، فایلهایی که پسوندهای گفته شده را دارند، بایستی از لحاظ پردازش و نمایش به کاربر بررسی شوند تا از نبود اطلاعات حساس در محتویات آنها، اطمینان کامل حاصل شود:
• .zip – .tar – .gz – .tgz – .rar : فایلهای فشرده و بایگانی
• .java : فایلهای جاوا. دلیلی برای اعطای دسترسی به این فایلها وجود ندارد.
• .txt : فایلهای متنی
• .pdf : مستندات PDF
• .doc – .rtf – .xls – .ppt : مستندات آفیس
• .bak : فایلهای بکآپ و پشتیبان
از آنجایی که لیست پسوند فایلها زیاد است، تنها خلاصهای از آنها در این بخش آورده شده است. برای مشاهده تمامی پسوندها به https://filext.com مراجعه فرمایید.
برای شناسایی فایلهایی که پسوند مشخصی دارند، میتواند از روشهای زیر استفاده کرد:
• اسکنرهای آسیبپذیری
• ابزارهای کپی و اسپایدرینگ خودکار
• بازرسی دستی اپلیکیشن (این روش محدودیتهای اسپایدرهای خودکار را ندارد)
• استفاده از موتورها جست و جو
بارگذاری فایل
گاهی اوقات میتوان از مدیریت فایل موروثی ویندوز 8.3، برای دور زدن فیلترهای بارگذاری فایل استفاده کرد.
مثال کاربردی
تست جعبه خاکستری
تست جعبه سفید مدیریت پسوند فایلها مستلزم بررسی پیکربندی وب سرور و اپلیکیشن سرورهای معماری وب اپلیکیشن و تعیین نحوه ساختار آنها برای سرویسدهی به پسوندهای مختلف فایلها است.
اگر وب اپلیکیشن لودبالانس شده و زیرساخت ناهمگونی داشته باشد، رفتارهای مختلف ناشی از آن را شناسایی کنید.
ابزارها
اسکنرهای آسیبپذیری مثل Nessus و Nikto، وجود دایرکتوریهای شناخته شده معروف را بررسی میکنند. آنها به نفوذگر اجازه دانلود ساختار وبسایت را میدهند تا نفوذگر بتواند با استفاده از این اطلاعات، پیکربندی دایرکتوریها و نحوه مدیریت پسوندها را مشخص کند. ابزارهای دیگری که میتوان برای این منظور استفاده کرد، عبارتند از:
• Curl
• Wget
• در گوگل عبارت mirroring tools را جست و جو کنید.
مطالب این بخش توسط جناب آقای امیر ثروتی تهیه شده است.