在windows使用XAMPP架設PHP 站點的要小心了

閱讀時間約 2 分鐘


最近PHP發佈了一個重大漏洞。這個漏洞是由戴夫寇爾研究團隊發現的,他們在進行前瞻攻擊研究期間,發現了PHP程式語言在Windows作業系統上的遠端程式碼執行弱點。這讓我非常驚訝,因為PHP在網站開發中使用非常廣泛,而這個漏洞的存在對我們這些開發者來說是一個很大的威脅。


漏洞描述

根據文章內容,這個漏洞是因為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官方已不再維護,我們需要特別注意自己的版本是否在影響範圍內。


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

對於使用Apache HTTP Server加上PHP組合的網站管理員,文章列出了兩個方式確認伺服器是否易被攻擊。其中情境二也是XAMPP for Windows安裝時的預設設定,這意味著所有版本的XAMPP for Windows安裝也預設受此弱點影響。尤其是在繁體中文、簡體中文及日文語系的Windows作業系統上,這個漏洞更容易被利用。



修補建議

強烈建議所有使用者升級至PHP官方最新版本(8.3.8、8.2.20與8.1.29)。對於無法升級的系統,可以透過下列方式暫時緩解弱點:

  1. 對無法更新PHP的使用者,可以透過Rewrite規則阻擋攻擊。
  2. 對XAMPP for Windows使用者,可以透過修改Apache Httpd設定檔避免暴露在弱點中。

例如,將 C:/xampp/apache/conf/extra/httpd-xampp.conf 中的 ScriptAlias /php-cgi/ "C:/xampp/php/" 註解掉即可。


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


原文-戴夫寇爾官方BLOG:

https://devco.re/blog/2024/06/06/security-alert-cve-2024-4577-php-cgi-argument-injection-vulnerability/


Laravel專案開發系列作為初學者和追求卓越的開發者的指南。從Laravel的基礎語法開始,逐步深入到實際的應用開發,如購物車系統。這系列不僅助您打好基礎,更能夠引領您走向專業開發的道路,讓您在Laravel的世界中游刃有餘。
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
[PHP] 在Windows環境中與SQL Server(MsSQL)的串接設定本文將介紹在Windows環境中安裝SQL Server及相關PHP擴展,以進行與SQL Server的串接。透過本文所述步驟,您將能在Windows環境中順利進行PHP與SQL Server串接設定。
Thumbnail
avatar
Hankz
2024-03-08
[PHP] 在Windows環境中與Oracle Database的串接設定本文將介紹在Windows環境中安裝Oracle Instant Client及相關PHP擴展,以進行與Oracle Database的串接。透過本文所述步驟,您將能在Windows環境中順利進行PHP與Oracle Database的串接設定。
Thumbnail
avatar
Hankz
2024-03-07
使用 C# 在 Windows 應用程式中複製與貼上圖片在開發 Windows 應用程式時,有時會需要讓使用者能夠進行圖片的複製與貼上操作。這篇教學將會介紹如何在 C# 中實現這樣的功能。我們將使用 System.Drawing 命名空間中的一些類別來處理圖片的複製和貼上操作。
Thumbnail
avatar
Pochi
2024-02-04
在 Windows 安裝 python (不須 anaconda)1. 詳細的 python 安裝流程(不需要 anaconda) 2. 透過「命令提示字元」啟動 python 的方法
Thumbnail
avatar
愛看電視的小上進
2023-11-30
WSL --- 在 Windows 上的好用 Linux 虛擬環境1. WSL 的安裝流程 2. WSL 的使用 3. 取得 WSL 的檔案 以上皆有附圖
Thumbnail
avatar
愛看電視的小上進
2023-11-26
在windows上建立kail linux python開發環境在Microsoft store 搜尋 kail linux 並安裝(這裡假設你已經先安裝WSL) 之後執行kail linux 終端機 依序輸入以下指令: 上面主要是做一些更新(update and upgrade),然後安裝python3, python3-venv(虛擬環境)之後建立一個名為b
Thumbnail
avatar
于正龍(Ricky)
2023-03-20
如何在Windows電腦重新啟動或登入時,將重要程式以系統管理員身分執行Windows電腦中,我們可以利用內建工具"工作排程器"去預設電腦重新啟動或登入時,自動執行重要程式,避免遺漏程式忘記,導致連動程式的系統不能使用。 以下是教學步驟: 步驟一: 開啟Windows電腦中內建工具"工作排程器" 步驟二: 將游標移至"工作排程器程式庫"按右鍵"建立工作" 步驟三:
Thumbnail
avatar
鈞陽系統整合有限公司
2022-08-09
在Windows環境安裝RedisRedis主要是運行在Linux系統環境中的,官方下載區找不到windows安裝程式,不過微軟有維護windows版本的,可以到github release page下載安裝。 直接下載msi來安裝: 測試是否安裝成功: 回傳PONG表示服務正常。 查看版本資訊: 列出所有key:
Thumbnail
avatar
Vic Lin
2022-04-17
在 Windows 建置以 Visual Studio 為基礎的 Python / Node.js 開發環境「VSCode 是世上最棒的 IDE 了吧」這時有人跳出來表示不服,定睛一看原來是那陳年的大哥 Visual Studio,他說道:「用 Windows 做開發的人一定要裝 Visual Studio 這樣專業的 IDE,不要裝其他次等的文字編輯器,才可以有效提升專業度。」
Thumbnail
avatar
Leon
2022-03-29
在Windows 安裝 Laravel 環境Note: 本筆記使用的是Windows 10作業系統 1. 下載並安裝WAMP或XAMPP等等 本文是使用wamp,這邊略過安裝教學。 2. 下載並安裝Composer 至官網下載Composer windows installer,到這一步驟時,選擇PHP版本位置: ...
Thumbnail
avatar
Vic Lin
2020-10-30