Image

在windows使用XAMPP架設PHP 站點的要小心了-PHP 遠端程式碼執行 (CVE-2024-4577)

最近 PHP 被爆出一個重大漏洞 「PHP 遠端程式碼執行 (CVE-2024-4577)」。

此漏洞由「戴夫寇爾研究團隊」在前瞻攻擊研究期間發現,影響範圍相當廣泛。由於 PHP 在網站開發中應用非常普及,尤其是 Windows 作業系統環境,這對開發者與站點管理者構成極大威脅。

漏洞描述

根據研究團隊公布的資訊,該漏洞源於:

  • PHP 在設計時忽略了 Windows 作業系統內部「字元編碼轉換(Best-Fit)」的特性。
  • 導致未認證的攻擊者可利用特定字元序列,繞過舊有的 CVE-2012-1823 保護,並在遠端 PHP 伺服器上執行任意程式碼。

這表示在 Windows 上執行 PHP 時,若未進行相應防護,駭客可透過此漏洞取得遠端程式碼執行的能力。

影響範圍

本次弱點影響所有安裝於 Windows 作業系統 上的 PHP 版本,包括但不限於:

  • PHP 8.3 < 8.3.8
  • PHP 8.2 < 8.2.20
  • PHP 8.1 < 8.1.29

注意: PHP 8.0、PHP 7 與 PHP 5 的官方維護已經停止,若仍使用這些更舊版本,存在更高的風險。

如何確認自己易遭受攻擊?

研究團隊在文章中列出兩種方式來檢查伺服器易受攻擊的情境:

  • 其中一項情境特別提及 XAMPP for Windows 的預設設定,也代表只要安裝 XAMPP for Windows(所有版本)並未特別修改,就可能預設受此弱點影響。
  • 在 繁體中文、簡體中文及日文語系 的 Windows 作業系統上,此漏洞更容易被利用。

如果目前的網站是使用 Apache HTTP Server + PHP 的組合,建議盡快檢查設定與 PHP 版本,以評估是否存在安全風險。

修補建議

1. 升級至最新 PHP 版本:

強烈建議所有使用者儘速升級至 PHP 官方最新釋出的版本:

  • PHP 8.3.8
  • PHP 8.2.20
  • PHP 8.1.29

2. 暫時性緩解措施:

  • Rewrite 規則阻擋攻擊:若無法立刻更新 PHP,可透過 Rewrite 規則避免攻擊向量。
  • 修改 Apache 設定檔:特別是 XAMPP for Windows 使用者,可將 httpd-xampp.conf 中的
ScriptAlias /php-cgi/ "C:/xampp/php/"

這行註解掉,以免預設曝露在弱點中。

作為一名PHP開發者,看到這樣的資安問題,確實讓人感到有些擔憂。不過,幸運的是,研究團隊已經在第一時間回報給PHP官方並且發佈了修復版本。如果有相同或是類似環境,希望大家都能夠盡快更新自己的PHP版本,保證系統的安全。

原文- 戴夫寇爾官方BLOG:Security Alert (CVE-2024-4577)