返回博客
技術深度2026年10月24日·6 分鐘閱讀

PHP2Shell 漏洞:是時候把舊 PHP 系統遷移至 Python

PHP2Shell 令運行 PHP 5.4 至 8.5 的伺服器面臨被接管的風險。先立即修補,再處理更大的隱患:沒有人敢改的舊程式碼。

PHP2Shell 漏洞:是時候把舊 PHP 系統遷移至 Python

2026 年 10 月 21 日,PHP 項目為 PHP2Shell 發布緊急修補。這兩個嚴重漏洞令攻擊者只需一個請求,就能接管網頁伺服器。全球約七成網站使用 PHP,影響立竿見影:法國、芬蘭及荷蘭的政府機構,以及 Wikimedia 和 Internet Archive,都曾暫時關閉服務進行修補。

如果你的業務建立在 PHP 之上,請先修補。然後問自己一個更難的問題:如果明天就要修改這些程式碼,你的團隊能安全地做到嗎?

PHP2Shell 是甚麼

PHP2Shell 包括兩個漏洞:CVE-2026-109618 及 CVE-2026-109619,嚴重程度均評為 9.2 分(滿分 10 分,屬嚴重級別)。兩者都容許攻擊者毋須登入即可遙距執行程式碼。攻擊在你的應用程式碼運行之前已經發生,所以即使應用程式本身寫得再好,只要底層的 PHP 版本有漏洞,仍然會受影響。

  • 受影響版本:PHP 5.4 至 8.5,包括 PHP-FPM、Apache mod_php、php-cgi、FrankenPHP 及 LiteSpeed。
  • 已修補版本:PHP 8.5.12、8.4.27、8.3.36 及 8.2.35。
  • 已被利用:Amazon 在漏洞公開前四天已錄得攻擊嘗試,watchTowr 亦報告在修補發布當天已出現實際攻擊。

這些漏洞是在 AI 協助下發現的,發現者包括與 OpenAI 合作的 Calif 研究人員,以及 Wiz。AI 正令在舊程式碼中尋找漏洞變得更快、更便宜,對防守方和攻擊方都一樣。

「這些發現是 PHP 史上,甚至可以說是軟件史上最嚴重的漏洞之一。」(Wiz)

第一步:今天就修補

  • 更新至已修補的 PHP 版本,或從你的 Linux 發行版或主機供應商安裝已修補的套件。
  • 如果未能即時更新,英國國家網絡安全中心建議考慮先把系統下線。防火牆規則有幫助,但不能取代修補。
  • 檢查系統有否被入侵的跡象。攻擊者可能在你修補之前已植入後門。

PHP 8.1 及更早版本已不再獲得支援。7.4 至 8.1 版本只獲得源代碼修補,更舊的版本則沒有任何官方修補。如果你的系統運行在這些版本上,就只能依賴供應商的向後移植修補,或自行編譯 PHP。

真正的風險:沒有人敢碰的程式碼

修補 PHP 本身是容易的部分。真正的難題在於:修補需要升級至較新的 PHP 版本,而你的應用程式卻無法在新版本上運行。

這種情況很常見。一套內部系統或網上商店在十年前建成,之後經過多位開發人員不斷修改,文件很少,亦沒有自動化測試。系統仍然能用,所以沒有人去碰它。但每次升級都變成一場賭博,每個安全修補都變成一個項目。

這不只是 PHP 的問題。Python 同樣會有漏洞,任何語言都可能寫出難以維護的程式碼。PHP2Shell 之所以令許多團隊如此頭痛,問題不在語言本身,而在於被困在舊版本上,程式碼亦沒有人完全理解。

為甚麼用 Python 重建

如果舊系統反正需要現代化,Python 是一個很好的選擇。

  • 最受歡迎的語言:Python 在 TIOBE 指數中排名第一(2026 年 10 月為 19.23%),更容易招聘開發人員,亦更容易找到維護良好的程式庫。
  • AI 的語言:大部分 AI 及數據工具都以 Python 為優先。系統轉用 Python 之後,要加入聊天機械人、預測模型或文件自動化就簡單得多。
  • 天生易讀:Python 語法簡潔,程式碼更容易閱讀、審查及交接給新成員。
  • 預設安全:Django 內置防範 SQL 注入、跨網站指令碼(XSS)及 CSRF 攻擊,FastAPI 則會根據類型化數據模型驗證每一個請求。
  • 現代工具:類型提示、自動化測試、程式碼檢查工具及相依套件掃描,都是 Python 生態的標準做法。

MAGO AI 如何把 PHP 遷移至 Python

我們把舊的 PHP 系統以 Python 重寫及翻新,並配以 AI 生成的文件,令成果易讀、易維護,並符合現今的行業標準。

  • 審計:我們以 AI 梳理你現有的程式碼庫,包括每個頁面、數據庫表、系統整合及業務規則,連沒有人記得是誰寫的部分也不例外。
  • 文件:由 AI 生成、經我們工程師審閱的文件,說明系統做甚麼、為甚麼這樣做。
  • 重建:我們按模組逐步以現代 Python 重寫系統,在結構、類型及安全方面遵循行業標準。
  • 驗證:每個模組上線前,自動化測試都會核對新系統的行為與舊系統一致。
  • 交接:你會得到整潔、有文件的程式碼,你自己的團隊或任何 Python 開發人員都能維護。

是時候遷移了嗎?

問自己三個問題:

  • 你的系統運行哪個 PHP 版本?它是否仍獲支援?
  • 新加入的開發人員能否在一星期內理解並安全地修改程式碼?
  • PHP2Shell 令你的團隊花了幾小時修補,還是幾天?

如果答案令你擔心,歡迎聯絡 MAGO AI。我們會檢視你的 PHP 系統,並建議清晰的方案,無論是以 Python 全面重寫、分階段遷移,還是為現有系統補充更完善的文件。

準備好重塑您的核心業務了嗎?

聯絡我們獲取AI諮詢和解決方案。我們隨時為您的需求提供幫助。

聯絡我們的團隊

請你填寫一些基礎資訊,以便我們更快更精準的回覆您