Php
PHP文件上傳系統安全隱患
我已經使用 PHP 建構了一個小型上傳系統,它現在工作得很好,但是我遇到的問題是我讓它工作的方式。
我沒有太多的安全背景,但這是我目前正在努力學習的。
因此,為了讓文件上傳系統正常工作,我需要更改我想要將文件放入的文件夾的權限。
所以我有一個 Windows 伺服器,我找到了文件夾 > 右鍵點擊 > 屬性 > 安全 > 編輯
這裡有 5 個組的列表
- 創作者
- 系統
- 管理員
- 使用者
- 受信任的安裝程序
所以當我上傳文件時,它會上傳到臨時文件,然後系統將文件移動到正確的位置,比如說 /vids 。
最初“使用者”組權限在寫入權限上設置為“拒絕”,這意味著使用者組無法將文件寫入此位置,這意味著當系統嘗試移動文件時會出現權限錯誤。
所以我將“使用者”組寫入權限更改為“允許”寫入,文件上傳和移動工作正常。但是我擔心從安全的角度來看這是不好的做法?
從我所看到的是,如果它具有寫入權限,攻擊者可以將腳本放在該位置然後執行它,這是正確的嗎?如果是這樣,我該如何解決這個問題並使其更安全?
攻擊者當然可以上傳某種形式的惡意程式碼並執行它,但有幾種方法可以緩解這種情況。不允許直接訪問文件,而只能通過某種中間腳本訪問。將上傳限制為僅選定的幾種文件類型(圖像類型或僅文本文件等)。而且,如果我理解您的問題,則無需擔心權限。