آسیب پذیری Full Path Disclosure یا FPD

با سلام خدمت عزیزان.

چند روزی بود بلاگ رو آپدیت نکرده بودم و علت اش افزایش مشغله های کاری و غیر کاری و تحصیلی بود.

با تازگی با مشکلی با عنوان “Full Path Disclosure” مواجه شدم ؛ قبل از هر کاری در مورد این مشکل تحقیقاتی انجام دادم و سعی کردم با CMS ها و سیستم هایی که قبلا کار کردم (مثل وردپرس) بصورت عملی با FPD آشنا بشم ، خب دیدم چیز خیلی خاص و بزرگی نیست ، البته برای وب سایت های کوچکی مثل یک  وبلاگ 

اکثرا فکر می کنند (یا من اینطور فکر می کنم که بقیه فکر می کنند) که این مشکل از سمت پیکربندی و تنظیمات اصلی سرور (Hosting/Servlet) هست اما اینطور نیست این موضوع بیشتر بر میگرده به کد نویسی در هم برهم یا ‌Sloppy Coding ، چرا؟

چون خیلی از گله ی برنامه نویسان فکر می کنند با تخصیص مقدار Off برای Display Errors در فایل php.ini سرور این مشکل حل می شود و دیگر Path اصلی یا به کل Error نمایش داده نمی شود این مشکل از سمت تنظیمات غلط یا Misconfiguration است اما داستان اینطور نیست ، ما (مدیران سرور) فقط اشتباه شما (برنامه نویسان) را با این کار پنهان می کنیم و هنوز مشکل پابرجاست ، درسته؟

مشکل بزرگتر…

مشکل بزرگتر برای من حل این مورد از سایت است ، یعنی باید برنامه نویسی که باگ سیستم خودش را با گفتن:‌ (این مشکل از کانفیگ سروره) میخواد پنهان کنه را توجیه کنم تا این مشکل از سمت نحوه ی کد نویسی شما و عدم رعایت موارد امنیتی در سیستم نوشته شده توسط شماست.

خب پس مشکل بزرگتر مشخص شد  دانشگاه های گل و بلبل ما هم که سالانه بیشتر از ۲۰۰.۰۰۰ برنامه نویس و مهندس کامپیوتر ول میده بیرون با هزار غرور و من من کردن زیر بار نمیرن که آقا / خانم این مشکل از سمت شماست ، نه مدیر سرور.

اما متاسفانه من سعی کردم مشکل را از طریق تنظیمات سرور و پنهان سازی این مشکل حل کنم ، چرا؟ به خاطر دلایل بالا 

در فایل httpd.conf (یا apache2.conf) که در مسیر اصلی config وب سرور هست مقدار زیر را در virtual host مربوط به آن سایت درج کردم:

در فایل php.ini سرور هم مقدار زیر را طبق زیر هماهنگ کردم:

در آخر هم در کدهای سیستم جستجو کردم هر جا از ini set مربوط به نمایش error ها استفاده شده به برنامه نویس گوشزد کنم.

به دنبال مقدار زیر گشتم:

 

در آخر هم خدافسی می کنم