許多FTP服務為了支援大文件傳輸,啟用了斷點續傳功能(REST命令)。然而,當服務器配置允許用戶寫入權限時,該功能可能被濫用:攻擊者可通過指定偏移量,將惡意內容追加到現有文件末尾,導致文件損壞、植入後門或破壞業務數據。經測試,Serv-U v4.0等主流FTP軟件在Windows 2000 Server環境下均存在此邏輯缺陷,且90%以上支持續傳的FTP服務程序受影響。
# 假設服務器存在 1000 bytes 的 Readme.txt
ftp> quote rest 1000 # 設置寫入偏移量
ftp> send Readme.txt # 上傳本地 500 bytes 文件
# 結果:服務器文件變為 1500 bytes,原內容被破壞
關鍵在於 REST 命令使服務器誤以為是續傳操作,繞過了覆蓋寫入的權限檢查。若無REST命令,直接 SEND 會返回 Permission Deny。
chroot 或FTP軟件原生隔離功能「刀本身並沒有錯,錯的是拿它的手。」—— 古龍
FTP協議設計於1971年,缺乏現代安全機制。企業應優先遷移至SFTP、HTTPS/WebDAV或對象存儲API等安全協議。若必須保留FTP,請嚴格落實「最小權限原則」與「纏深度防禦」,將風險降至最低。