Web安全漏洞 檔案上傳(fileupload)

2021-09-01 10:55:13 字數 2109 閱讀 8833

1.原理

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

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

使用者上傳的檔案如果被安全檢查、格式化、壓縮等功能改變了內容,則可能導致攻擊不成功

檔案包含漏洞(file include)(有次面試問我檔案包含,我回答的檔案上傳…)

嚴格來說,檔案包含是**注入的一種。**注入就是注入一段使用者能控制的指令碼**,並讓伺服器端執行。「**注入」的典型代表就是檔案包含。檔案包含可能會出現在jsp、php、asp語言中。php常用的四種四種檔案包含函式:include()、requrie()、include_once()、requrie_once()。使用這些函式包含乙個檔案時,php核心並不會在意該被包含的檔案是什麼型別,該檔案將作為php**執行。可分為本地檔案包含遠端檔案包含

2.分類

還有些不常見的用法,比如將上傳檔案作為乙個入口,溢位伺服器的後台處理程式,如解析模組;或者上傳乙個合法的文字檔案,其中包含了php指令碼,再通過本地檔案包含漏洞執行此指令碼。

3.防禦

檔案上傳的目錄設定為不可執行

檔案型別檢查

使用隨機數改寫檔名和檔案路徑

單獨設定檔案伺服器的網域名稱

4.web容器檔案解析漏洞

解析漏洞主要是一些特殊檔案被web容器在某種情況下解釋成指令碼檔案格式並得以執行而產生的漏洞

常見web容器有iis、nginx、apache、tomcat等

iis 5.x/6.0解析漏洞

iis6.0解析漏洞主要有以下三種:

1. 目錄解析漏洞 /xx.asp/xx.jpg

在**下建立資料夾名字為.asp、.asa的資料夾,其目錄內的任何副檔名的檔案都被iis當做asp檔案來解析並執行。因此只要攻擊者可以通過該漏洞直接上傳馬,並且可以不需要改字尾名!

2. 檔案解析 xx.asp;.jpg

在iis6.0下,分號後面的不被解析,所以xx.asp;.jpg被解析為asp指令碼得以執行。

3. 檔案型別解析 asa/cer/cdx

iis6.0 預設的可執行檔案除了asp還包含這三種asa、cer、cdx。

apache解析漏洞

apache對檔案的解析主要是從右到左開始判斷並進行解析,如果判斷為不能解析的型別,則繼續向左進行解析,如xx.php.wer.***xx將被解析為php型別。

iis 7.0/ nginx <8.03畸形解析漏洞

在預設fast-cgi開啟狀況下上傳名字為xx.jpg,內容為:<?php fputs(fopen('shell.php','w'),'<?php eval($_post[cmd])?>』);?>

然後訪問xx.jpg/.php,在這個目錄下就會生成一句話木馬shell.php。

nginx<8.03空位元組**執行漏洞

nginx如下版本:0.5., 0.6., 0.7 <= 0.7.65, 0.8 <= 0.8.37在使用php-fastcgi執行php的時候,url裡面在遇到%00空位元組時與fastcgi處理不一致,導致可以在中嵌入php**然後通過訪問***.jpg%00.php來執行其中的**。

另一種nginx檔案漏洞是從左到右進行解析,既可繞過對字尾名的限制,又可上傳木馬檔案,因此可以上傳***.jpg.php(可能是運氣,也可能是**本身問題,但在其他都不能成功的條件下可以試試)。如下:

htaccess檔案解析

作業系統特性解析

由於windows會將檔案的字尾中的空格以及點進行過濾,如果遇到是黑名單校驗的,如限制不允許上傳php檔案,而系統又是windows系統,那麼我們可以上傳xx.php ,或者xx.php.,通過這種方式就可以繞過黑名單檢驗的檔案上傳!

Web安全漏洞

web的大多數安全問題都屬於下面三種型別之一 1 伺服器向公眾提供了不應該提供的服務。2 伺服器把本應私有的資料放到了公開訪問的區域。3 伺服器信賴了來自不可信賴資料來源的資料。顯然,許多伺服器管理員從來沒有從另乙個角度來看看他們的伺服器,例如使用埠掃瞄程式。如果他們曾經這樣做了,就不會在自己的系統...

常見Web安全漏洞

不同許可權賬戶之間的存在越權訪問 檢測防範 1伺服器端必須對每個頁面鏈結進行許可權判斷。2使用者登陸後,伺服器端不應再以客戶端提交的使用者身份資訊為依據,而應以會話中服務端儲存的已登陸的使用者身份資訊為準。3頁面提交的資源標誌與已登陸的使用者身份進行匹配比對,然後判斷其對當前鏈結是否有許可權。4必須...

ueidtor安全漏洞 UEditor上傳漏洞復現

ueditor編輯器介紹 漏洞影響版本 漏洞影響版本 1.4.3.3 net 其他php,jsp,asp版本不受此ueditor的漏洞的影響。最新版本為1.4.3.3,並且已經不支援更新了。漏洞復現過程 訪問後,返回下圖,證明存在漏洞。2.構造上傳 shell addr 3.製作aspx一句話木馬 ...