۵ آبان ۱۴۰۵ gregoryalexander.com ۳ دقیقه مطالعه

بررسی وجود و نحوه حذف ایمن PHP روی سرورهای ColdFusion

بررسی وجود و نحوه حذف ایمن PHP روی سرورهای ColdFusion — Is PHP Running on Your ColdFusion Server? How to Check, and Remove It

خلاصه

این مقاله به این موضوع می‌پردازد که چگونه یک قانون امنیتی برای آسیب‌پذیری‌های PHP روی سرورهای ویندوزی IIS، دسترسی به برنامه‌های ColdFusion را مختل کرده است. همچنین راهنمای گام‌به‌گامی برای بررسی اینکه آیا PHP بدون اطلاع مدیران روی سرور فعال است یا خیر، و نحوه حذف ایمن آن ارائه می‌دهد.

اگر از سرورهای ویندوزی مجهز به IIS برای اجرای ColdFusion یا Lucee استفاده می‌کنید، ممکن است PHP به‌طور پنهان روی سیستم شما حضور داشته باشد. این اتفاق معمولاً به دلیل نصب کنترل‌پنل‌ها، ابزارهایی مثل phpMyAdmin در گذشته، یا تصاویر پیش‌فرض هاست رخ می‌دهد.

پس‌زمینه و ماجرا

اخیراً با انتشار اصلاحیه‌های اضطراری برای آسیب‌پذیری‌های بحرانی در PHP که به مهاجمان اجازه اجرای کد از راه دور را می‌دهد، شرکت‌های هاستینگ و مدیران سرور دست‌به‌کار شدند تا قوانین حفاظتی اعمال کنند. در این میان، یک قانون امنیتی در IIS برای مسدود کردن درخواست‌های multipart/form-data (که معمولاً برای آپلود فایل استفاده می‌شوند) به‌صورت سراسری اعمال شد. این قانون بدون در نظر گرفتن پسوند فایل‌ها، درخواست‌های ورود به سیستم و آپلود در برنامه‌های ColdFusion را مختل کرد، در حالی که این برنامه‌ها اصلاً از PHP استفاده نمی‌کنند.

پس از بررسی مشخص شد که وجود یک نسخه قدیمی از phpMyAdmin که سال‌ها پیش برای مدیریت پایگاه داده نصب شده بود، باعث حضور PHP و فعال ماندن هندلر آن روی سرور شده است.

مراحل بررسی وجود PHP روی سرور

برای اینکه مطمئن شوید آیا سرور شما درگیر این مسئله است یا خیر، می‌توانید از دستورات PowerShell و محیط ویندوز استفاده کنید:

  • بررسی هندلر IIS: با استفاده از دستورات WebAdministration در PowerShell چک کنید که آیا IIS فایل‌های .php را به php-cgi.exe هدایت می‌کند یا خیر.
  • جستجوی فایل‌های PHP: با استفاده از دستورات سریع خط فرمان ویندوز (dir /s /b), به دنبال فایل‌های .php در ریشه وب‌سایت بگردید. وجود فایل‌های پراکنده در پوشه‌های آپلود می‌تواند نشانه خطر و فایل‌های وب‌شل (Web Shell) باشد.
  • بررسی فرآیندهای در حال اجرا: دستوراتی برای بررسی فرآیندهای فعال php* وجود دارد، البته اگر درخواست فعالی نباشد ممکن است فرآیندی دیده‌ نشود.
  • تست دسترسی خارجی: بررسی کنید که آیا آدرس‌هایی مانند phpmyadmin یا info.php روی دامنه‌های شما پاسخ 200 OK برمی‌گردانند یا خیر.

نحوه حذف ایمن PHP از سرور IIS

اگر برنامه‌های شما به PHP نیازی ندارند، بهتر است آن را به‌صورت کاملاً ایمن و مرحله‌به‌مرحله حذف کنید:

  1. پشتیبان‌گیری از تنظیمات: ابتدا با استفاده از ابزار appcmd.exe از تنظیمات IIS یک نسخه پشتیبان تهیه کنید تا در صورت بروز مشکل قابل بازگشت باشد.
  2. انتقال پوشه‌های PHP: برنامه‌هایی مثل phpMyAdmin را به جای حذف فوری، به پوشه‌ای دیگر (مانند C:\Temp) منتقل کنید تا اگر وابستگی پنهانی وجود داشت، به مشکل نخورید.
  3. بستن دسترسی به فایل‌های .php: از طریق فیلترینگ درخواست‌ها در IIS، پسوند .php را در سطح سرور غیرمحاز کنید.
  4. حذف هندلر و تنظیمات FastCGI: نگاشت‌های مربوط به PHP را از تنظیمات سرور پاک کنید.
  5. حذف نهایی فایل‌ها: پوشه یا نصب‌کننده PHP را پس از گذشت چند هفته پاک کنید.

نگاه جامعه برنامه‌نویسان (Hacker News)

در بحث‌های هکرنیوز، بسیاری از توسعه‌دهندگان با تعجب به این موضوع نگاه کردند که هنوز سیستم‌هایی بر پایه ColdFusion در حال کار هستند و این ماجرا را شبیه به سفری به ماشین زمان سال‌های دور دانستند. با این حال، کاربرانی که همچنان سیستم‌های قدیمی را نگهداری می‌کنند، بر اهمیت پاک‌سازی سرویس‌های اضافی و کاهش سطح حمله (Attack Surface) تأکید داشتند.

این مطلب به‌صورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل

این خبر را با دیگران به اشتراک بگذارید

خبرهای فناوری در قالب پست و ویدیوی کوتاه، در اینستاگرام هکرنیوز بلاگ. به‌زودی
هر خبر به محض انتشار، به‌همراه پادکست روزانه در کانال تلگرام هکرنیوز بلاگ.