web安全 檔案上傳漏洞

2021-07-25 16:41:51 字數 1822 閱讀 8905



檔案上傳漏洞

所謂的檔案上傳漏洞是指使用者上傳了乙個可執行指令碼,並通過指令碼檔案獲得執行伺服器端命令

的能力。檔案上傳本身是沒有問題的,它只是一種正常的業務需求,問題出在檔案上傳後伺服器怎麼處理、解釋檔案。檔案上傳後導致常見的安全問題一般包括: 1

,上傳檔案是web指令碼語言,伺服器的web容器解釋並執行了使用者上傳的指令碼,導致**被執行 2

,上傳檔案是flash的策略檔案crossdo-main.xml,黑客用以控制flash在該域下的行為 3

4,上傳檔案是釣魚或包含指令碼的,被用於釣魚和欺詐

除此之外,還有其他利用方法,如將上傳檔案作為乙個入口,溢位伺服器的後台處理程式——解析模組。當然,要完成一次檔案上傳漏洞攻擊,需要滿足一下幾個條件: 1

,上傳的檔案能夠被web容器解釋執行,即是說檔案上傳後所在的目錄要是web容器所能覆蓋到的路徑。 2

,使用者能夠從web上訪問這個檔案 3

,上傳的檔案不能被安全檢查、格式化、壓縮等改變內容。

值得注意的是,限制上傳檔案型別採用白名單比較好,黑名單是一種很不好的思想,後面將到解析漏洞時會提到黑名單為什麼不好。

繞過檔案上傳檢查功能

有的站點在允許上傳的同時,對上傳的檔案做了檢查,檢查方式多是判斷檔名字尾來確保檔案安全性。但是攻擊者還是可以通過其他方式進行繞過,如修改post包,在檔名後新增%00位元組(00截斷,在c、php等語言常用字串處理函式中)。

利用解析漏洞的上傳技巧

利用解析漏洞是攻擊者在上傳漏洞時,發現一些wenserver本身特性相關的功能,如apache檔案解析、iis檔案解析、php cgi路徑解析等

apache

檔案解析漏洞(在apache1.x2.x中)

該版本中apache對於檔名的解析是從後往前解析,直到遇見乙個apache認識的檔案型別為止,那麼攻擊者可以這樣構造:phpshell.php.rar.rar.rar.rar,因為apache不認識rar檔案型別,所以會一直遍歷字尾到.php,然後認為這是乙個php型別檔案。apache是通過apache的mime.types檔案中定義的檔案型別來判斷檔案型別。

iis檔案解析漏洞

iis 6

在處理檔案解析時,也出過一些漏洞,與之前提到的00截斷類似,不過截斷字元變為『;』,例如上傳乙個檔名為abc.asp;xx.jpg,此時iis 6會將此檔案解析為abc.asp,檔名被截斷導致指令碼被執行。除此之外iis 6 還有過目錄漏洞,這種漏洞是由於處理資料夾副檔名出錯,導致該目錄下的所有檔案都會被執行:此時bcd.jpg將會被當做asp檔案執行。*******注意:iis的解析漏洞是要求再伺服器本地硬碟上確實有這樣的檔案或者資料夾,通過web應用對映出了的url是無法觸發漏洞的。

關於iis還存在這樣乙個漏洞:當站點允許使用者上傳檔案到指定的路徑下時,用put方法再結合move方法即可完成原本只允許上傳文字檔案改為指令碼檔案從而執行webshell。步驟如下: 1

,通過options探測伺服器資訊,伺服器返回可上傳檔案型別,如txt

2,上傳文字檔案 3

,通過move改名為可執行副檔名檔案,執行指令碼。

檔案上傳漏洞的防禦

檔案上傳是沒有問題的,問題在於伺服器如何處理該上傳檔案,通過如下方法可防範檔案上傳漏洞: 1

,檔案上傳的目錄許可權設定為不可執行。只要web容器無法解析該目錄下的檔案,那麼攻擊者上傳的指令碼檔案就無法執行。 2

,判斷檔案型別。這種判斷要結合mime type、字尾檢查,強烈推薦白名單方式,對於可以使用壓縮函式處理。 3

,使用隨機數改寫檔名和檔案路徑。如果攻擊者上傳了檔案,採用隨機數改變了檔名和檔案路徑,將大大增加了攻擊的成本。 4

,單獨設定檔案伺服器的網域名稱。這和瀏覽器的同源策略是想通的。

web安全 檔案上傳漏洞

檔案上傳漏洞 所謂的檔案上傳漏洞是指使用者上傳了乙個可執行指令碼,並通過指令碼檔案獲得執行伺服器端命令 的能力。檔案上傳本身是沒有問題的,它只是一種正常的業務需求,問題出在檔案上傳後伺服器怎麼處理 解釋檔案。檔案上傳後導致常見的安全問題一般包括 1,上傳檔案是web指令碼語言,伺服器的web容器解釋...

web安全 檔案上傳風險

描述 無論編寫程式所用的語言是什麼,最具破壞性的攻擊通常都會涉及執行遠端 攻擊者藉此可在程式上下文中成功執行惡意 如果允許攻擊者上傳檔案到公開的可執行目錄中,則他們可以讓這些檔案中包含的惡意 在伺服器上執行。即使程式將上傳的檔案儲存在乙個無法公開訪問的目錄中,攻擊者仍然有可能通過向伺服器環境引入惡意...

Web安全之檔案上傳漏洞

系統管理員都有過系統被上傳後門 木馬或者是網頁被人篡改的經歷,這類攻擊大部分是通過檔案上傳來是實現的。檔案上傳漏洞是指網路攻擊者上傳了乙個可執行檔案到伺服器並執行。這裡上傳的檔案可以是木馬 病毒 惡意指令碼或者webshell等。這種攻擊方式是最為直接和有效的,部分檔案上傳漏洞的利用技術門檻非常的低...