2015-04-04 92 views
0

在我的網站上,我有能力讓用戶上傳文件到服務器,並能夠在名爲「public uploads」的目錄中查看所有上傳的文件,用戶可以在其中查看其他用戶上傳的所有文件。這是Apache目錄頁面上的「索引/上傳」。這是一種文件共享中心,人們可以下載和共享其他人的文件。公共上傳文件夾會成爲安全問題嗎?

會有任何安全問題嗎? 用戶可以說,上傳一個惡意的PHP腳本,並從客戶端執行它?

如何解決這些問題,如果它們存在?

+0

「用戶可以上傳惡意的PHP腳本,並從客戶端執行嗎?」 - 你試過了嗎? – Gumbo 2015-04-04 06:55:15

+0

需要更多幫助嗎?如果是的話,我會更新我的答案。 – SilverlightFox 2015-05-09 10:38:03

回答

0

允許用戶上傳文件到公用文件夾不會對您的服務器造成風險。他們無法在服務器上運行這些文件。

它確實對下載任何這些文件的用戶構成風險。這些文件可能包含病毒或惡意軟件。打開這些文件對您的用戶來說是一個高度安全風險。不確定你是否在爲他們提供這樣的功能。

1

可能這一切都取決於服務器,PHP和Apache的配置。

OWASP's Unrestricted File Upload vulnerability page對於一些風險:

  • 此漏洞的影響是很高,應該代碼可以 在服務器範圍內或在客戶端上執行。檢測到攻擊者的可能性很高。流行是常見的。作爲 的結果,此類漏洞的嚴重性爲高。
  • 通過上傳和執行一個可以運行命令,瀏覽系統文件,瀏覽本地資源,攻擊其他服務器並攻擊本地漏洞等等的web-shell,web服務器可能會受到威脅。 這也可能導致損壞。
  • 攻擊者可能會將 作爲網頁仿冒網頁。
  • 攻擊者可能能夠將存儲的XSS放入網站 。
  • 此漏洞可能使網站 容易受到其他類型的攻擊,如XSS。
  • 圖片上傳 可能會觸發客戶端上的破碎圖片庫中的漏洞,如果圖片發佈爲 1:1,則會觸發此漏洞(libtiff,IE過去有問題)。
  • 可以在上傳的文件中嵌入腳本代碼或其他代碼, 如果圖片以1:1發佈,則會被執行。
  • 本地 可以利用實時監控工具(如防病毒軟件, )的漏洞。
  • 管理員或網站管理員稍後可以在服務器上或管理員的客戶端 上執行代碼爲 的惡意文件(Unix shell腳本,windows病毒, 反向shell)或站長。
  • 網絡服務器可能被用作 的服務器,以託管惡意軟件,非法軟件,色情和其他對象。

See my other post對製作文件的一般準則上傳安全。