Php

PHP文件上傳系統安全隱患

  • July 22, 2013

我已經使用 PHP 建構了一個小型上傳系統,它現在工作得很好,但是我遇到的問題是我讓它工作的方式。

我沒有太多的安全背景,但這是我目前正在努力學習的。

因此,為了讓文件上傳系統正常工作,我需要更改我想要將文件放入的文件夾的權限。

所以我有一個 Windows 伺服器,我找到了文件夾 > 右鍵點擊 > 屬性 > 安全 > 編輯

這裡有 5 個組的列表

  • 創作者
  • 系統
  • 管理員
  • 使用者
  • 受信任的安裝程序

所以當我上傳文件時,它會上傳到臨時文件,然後系統將文件移動到正確的位置,比如說 /vids 。

最初“使用者”組權限在寫入權限上設置為“拒絕”,這意味著使用者組無法將文件寫入此位置,這意味著當系統嘗試移動文件時會出現權限錯誤。

所以我將“使用者”組寫入權限更改為“允許”寫入,文件上傳和移動工作正常。但是我擔心從安全的角度來看這是不好的做法?

從我所看到的是,如果它具有寫入權限,攻擊者可以將腳本放在該位置然後執行它,這是正確的嗎?如果是這樣,我該如何解決這個問題並使其更安全?

攻擊者當然可以上傳某種形式的惡意程式碼並執行它,但有幾種方法可以緩解這種情況。不允許直接訪問文件,而只能通過某種中間腳本訪問。將上傳限制為僅選定的幾種文件類型(圖像類型或僅文本文件等)。而且,如果我理解您的問題,則無需擔心權限。

引用自:https://serverfault.com/questions/525238