2012-10-19 43 views
2

是否有可能欺騙PHP文件上載從服務器中選擇文本文檔?上傳fileuploader的默認文件?

也許通過鏈接到HTML形式中的文件value="link-to-file.txt"

+2

取決於你在做什麼。如果您使用用戶輸入來選擇文件名,那麼YES任何可以訪問Web服務器用戶的服務器都是潛在的公平遊戲,並且您必須仔細過濾輸入,使其符合類似'../'或null字節的模式,並且在可能的情況下使用值白名單。 –

+2

順便提一句,你需要保護自己的東西的名稱是[_Directory Traversal Attack_](http://en.wikipedia.org/wiki/Directory_traversal_attack)和[_NULL字節注入_](http://projects.webappsec.org/W /頁/ 13246949 /空%20Byte%20Injection) –

回答

0

有多個步驟來區分:

  1. 的瀏覽器將數據發送到Web服務器

  2. PHP解釋該數據,存儲在一個臨時文件中的文件內容,並使得在$ _FILES中的條目

  3. 您的腳本做一些事情,在$ _FILES收到的陣列和在臨時文件中的內容

由於PHP及其注視網絡服務器通常被廣泛使用,因此步驟1和步驟2不應允許攻擊者做壞事。最容易受到攻擊的步驟是3.這裏的內容可以被攻擊者操縱 - 如果你使用文件名來命名服務器上的目標文件,如果沒有適當的過濾,這是非常危險的。

相關問題