WEB安全性測試之檔案上傳漏洞

2022-05-06 07:39:10 字數 1909 閱讀 2987

1、漏洞描述:

檔案上傳漏洞,是指可以利用web上傳一些特定的檔案包含特定**如(<?php phpnfo;?> 可以用於讀取伺服器配置資訊。上傳成功後可以點選)

上傳漏洞是指使用者上傳了乙個可執行的指令碼檔案,並通過此指令碼檔案獲得了執行伺服器端命令的能力。檔案上傳本身是web中最為常見的一種功能需求,關鍵是檔案上傳之後伺服器端的處理、解釋檔案的過程是否安全。一般的情況有:

1、上傳web指令碼語言,伺服器的web容器解釋並執行了使用者上傳的指令碼,導致**執行,篡改主頁

2、上傳flash策略檔案crossdomain.xml,以此來控制flash在該域下的行為。

4、上傳釣魚或包含了指令碼的,某些瀏覽器會作為指令碼執行,實施釣魚或欺詐。

5、建立伺服器使用者,檢視伺服器資訊 (使用net user 命令)

2、檢測條件

1、已知web**在登入前或者登入後具有上傳頁面。

2、上傳的檔案具備可執行性或能夠影響伺服器行為,所以檔案所在的目錄必須在web容器覆蓋的路徑之內。

3、使用者可以從web上訪問這個檔案,從而使得web容器解釋執行該檔案。

4、上傳後的檔案必須經過安全檢查,不會被格式化、壓縮

3、檢測方法

上傳方式根據不同的web語言,檢測方法也各式各樣,以下列舉基於js驗證的上傳的幾種常見的檔案上傳繞過方法:

1、我們直接刪除**中onsubmit事件中關於檔案上傳時驗證上傳檔案的相關**。f12前端修改即可。

2、直接更改檔案上傳js**中允許上傳的副檔名你想要上傳的副檔名。

3、使用本地提交表單即可,作相應的更改。

4、使用burpsuite或者是fiddle等**工具提交,本地檔案先更改為jpg,上傳時攔截,再把副檔名更改為asp即可。

5、當然也有不是基於js驗證的上傳,例如一些中介軟體iis,nginx,php,fck編輯器等等的解析漏洞,其上傳繞過方式也是多種多樣。通過對上傳頁面進行檢查,常見的檔案上傳檢查針對檔案型別進行,可以使用手動修改post包然後新增%00位元組用於截斷某些函式對檔名的判斷。除了修改檔名來繞過型別檢查外,還可以修改檔案頭來偽造檔案頭,欺騙檔案上傳檢查。

1、登陸**,並開啟檔案上傳頁面。

2、點選「瀏覽」按鈕,並選擇本地的乙個jsp檔案(比如hacker.jsp),確認上傳。

3、如果客戶端指令碼限制了上傳檔案的型別(比如允許gif檔案),則把hacker.jsp更名為hacker.gif;配置http proxy(burp)進行http請求攔截;重新點選「瀏覽」按鈕,並選擇hacker.gift,確認上傳。

4、在webscarab攔截的http請求資料中,將hacker.gif修改為hacker.jsp,再傳送請求資料。

6、通過字尾名過濾

7、通過二進位制來判斷檔案型別

8、修改伺服器核心引數,禁止指令碼引擎執行系統命令

4、修復方案

針對檔案上傳漏洞的特點和必須具備的三個條件,我們阻斷任何乙個條件就可以達到組織檔案上傳攻擊的目的:

1、最有效的,將檔案上傳目錄直接設定為不可執行,對於linux而言,撤銷其目錄的』x』許可權;實際中很多大型**的上傳應用都會放置在獨立的儲存上作為靜態檔案處理,一是方便使用快取加速降低能耗,二是杜絕了指令碼執行的可能性;

2、檔案型別檢查:強烈推薦白名單方式,結合mime type、字尾檢查等方式(即只允許允許的檔案型別進行上傳);此外對於的處理可以使用壓縮函式或resize函式,處理的同時破壞其包含的html**;

3、使用隨機數改寫檔名和檔案路徑,使得使用者不能輕易訪問自己上傳的檔案;

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

WEB安全性測試 檔案上傳漏洞

學習章節 測試入門到精通 軟體測試零基礎入門資料2015 第二階段 web測試模組 5.web安全性測試 第3章 3.web安全性測試 檔案上傳漏洞 學習內容 檔案上傳漏洞是指網路攻擊者上傳了乙個可執行的檔案到伺服器並執行。這裡上傳的檔案可以是木馬,病毒,惡意指令碼或者webshell等。危害 上傳...

Web安全之檔案上傳漏洞

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

web安全學習筆記之 檔案上傳漏洞

檔案上傳在web服務裡非常普遍 上傳檔案漏洞指的是上傳web指令碼且能被web伺服器解析 上傳檔案必須能被解釋執行 且在web容器能執行的路徑裡 伺服器如果僅僅根據檔名來判斷檔案的型別,則很容易利用0截斷功能繞過 例如 php偽造成 php 0.jpg 一般php的檔名處理結果是.jpg 除了看字尾...