檔案上傳漏洞指使用者上傳了乙個可執行指令碼檔案,並且通過此指令碼檔案獲得了執行伺服器端端命令的能力。常見場景是web伺服器允許使用者上傳或者普通文字檔案儲存,而使用者繞過上傳機制上傳惡意指令碼並執行從而控**務器。上傳檔案操作本身是沒有問題的,問題在於檔案上傳到伺服器後,伺服器怎麼處理和解釋檔案。
前端限制:呼叫js函式檢查上傳檔案的副檔名
服務端檢查副檔名:白名單和黑名單策略
漏洞名稱
漏洞描述
老版本的iis中的目錄解析漏洞
如果**目錄中有乙個 /.asp/目錄,那麼此目錄下面的一切內容都會被當作asp指令碼來解析
老版本的iis中的分號漏洞
iis在解析檔名的時候可能將分號後面的內容丟棄, a.asp;jpg
舊版windows server中存在空格和dot漏洞
類似於 a.php. 和 a.php[空格] 這樣的檔名儲存後會被windows去掉點和空格,從而使得加上這兩個東西可以突破過濾,成功上傳,並且被當作php**來執行
nginx空位元組漏洞
%00截斷漏洞,test.php%00.jpg被解析為test.php
大小寫漏洞
沒有進行大小寫轉換,.php副檔名沒在黑名單,依然被伺服器接收
apache解析漏洞
apache在解析檔名的時候是從右向左讀,如果遇到不能識別的副檔名則跳過a.php.rarx被識別為a.php
檢查http header中的content-type
分析檔案頭內容來檢查檔案型別
限制web server對於特定型別檔案的行為
破解方法:不同的伺服器有不同的應對策略,上傳自己的配置檔案覆蓋掉伺服器的配置檔案即可。
破解方法:html**中有乙個隱藏標籤,這是檔案上傳的預設的資料夾,修改引數value的值,結合iis解析漏洞當建立*.asa、*.asp格式的資料夾時,其目錄下的任意檔案都將被iis當做asp檔案來解析),就可以將惡意**寫入。
"hidden" name="extension" value="up"/>
檔案上傳漏洞
php語言 form表單 tmp臨時目錄 file 判斷檔案資訊 臨時檔案放入想要放的位置 移動臨時檔案 1.伺服器配置不當 2.開源編輯器上傳漏洞 3.本地檔案上傳限制被繞過 4.過濾不嚴或被繞過 5.檔案解析漏洞導致檔案執行 6.檔案上傳路徑 1.前段解析指令碼語言 2.允許上傳指令碼檔案 3....
檔案上傳漏洞
什麼是檔案上傳 一些web應用程式中允許上傳,文字或者其他資源到指定的位置,檔案上傳漏洞就是利用這些可以上傳的地方將惡意 植入到伺服器中,再通過url去訪問以執行 webshell 以web 方式進行通訊的命令直譯器,也叫 後門。本質上講,webshell 就是乙個能夠執行指令碼命令的檔案,其形式可...
檔案上傳漏洞
檔案上傳漏洞的概述 上傳漏洞的危害 檔案上傳漏洞的利用 檔案上傳漏洞的防禦 1 背景 什麼是檔案上傳 為什麼會有檔案上傳 在 運營過程中,不可避免地要對 的某些頁面或者內容進行更新,這個時候需要使用到 的檔案上傳功能。如果不對被上傳的檔案進行限制或者限制被繞過,該功能便有可能會被利用上傳可執行檔案 ...