安全動(dòng)態(tài)

Upload-Lab第二關(guān):如何巧妙繞過MIME類型過濾?

來(lái)源:聚銘網(wǎng)絡(luò)    發(fā)布時(shí)間:2024-08-19    瀏覽次數(shù):
 
MIME類型是互聯(lián)網(wǎng)媒體類型,用于指示文件的性質(zhì)和格式。本篇文章將詳細(xì)介紹如何通過繞過MIME類型過濾來(lái)攻克upload-lab的第二關(guān)。


上文《Upload-Lab第一關(guān):輕松繞過前端驗(yàn)證的技巧!

在upload-lab的第二關(guān),我們需要應(yīng)對(duì)MIME類型過濾。MIME類型是互聯(lián)網(wǎng)媒體類型,用于指示文件的性質(zhì)和格式。在實(shí)際的文件上傳場(chǎng)景中,服務(wù)器通常會(huì)檢查上傳文件的MIME類型以確保安全。然而,通過某些技巧,我們可以繞過這種檢查并上傳惡意文件。本篇文章將詳細(xì)介紹如何通過繞過MIME類型過濾來(lái)攻克upload-lab的第二關(guān)。


第二關(guān)簡(jiǎn)介

在Pass02關(guān)卡中,服務(wù)器會(huì)檢查上傳文件的MIME類型,只有當(dāng)MIME類型為允許的類型(如圖片類型)時(shí),文件才能成功上傳。如果上傳的文件MIME類型不符合要求,則會(huì)被拒絕。 源碼如下圖所示:

源碼

繞過MIME類型過濾的方法

  • 使用Burp Suite攔截并修改請(qǐng)求:這是最常用的方法,通過Burp Suite等抓包工具攔截上傳請(qǐng)求,然后修改MIME類型。
  • 構(gòu)造特殊的文件:通過修改文件頭信息,使文件看起來(lái)像是合法的類型。

實(shí)踐步驟

(1) 準(zhǔn)備工具

  • Burp Suite
  • 一個(gè)簡(jiǎn)單的Web Shell文件,例如:

(2) 啟動(dòng)BurpSuite并配置瀏覽器代理

啟動(dòng)Burp Suite并設(shè)置攔截模式,如下圖所示:

啟動(dòng)BurpSuite并設(shè)置攔截模式

配置瀏覽器使用BurpSuite作為代理,如下圖所示:

配置瀏覽器使用代理

上圖中的HTTProy代理地址和端口要與BurpSuite的設(shè)置一致,如下圖所示:

HTTProy代理地址

(3) 此時(shí)上傳webshell,點(diǎn)擊上傳,會(huì)自動(dòng)調(diào)到BurpSuite頁(yè)面,通過觀察下圖Content-Type的類型為application/x-php,因此,我們要對(duì)該類型進(jìn)行修改成image/jpeg

Content-Type類型修改之前

Content-Type類型修改之后

修改后,先點(diǎn)擊Action -> Send to Intruder,接著,點(diǎn)擊Forward,點(diǎn)擊后,會(huì)輸入如下結(jié)果,如下圖所示:

成功返回請(qǐng)求頭

最后,通過前端頁(yè)面中的源碼看到webshell已經(jīng)成功上傳到服務(wù)器上,如下圖所示:

驗(yàn)證上傳成功

通過訪問類似于http://服務(wù)器地址/upload/shell.php?cmd=whoami的URL來(lái)驗(yàn)證WebShell是否工作。如下圖所示:

總結(jié)

通過這種方法,我們成功繞過了MIME類型過濾,上傳了惡意文件。這展示了在文件上傳功能中僅依賴MIME類型檢查是不夠的,還需要結(jié)合文件內(nèi)容、擴(kuò)展名等多重檢查手段,才能有效防御此類攻擊。


 
 

上一篇:Upload-Lab第一關(guān):輕松繞過前端驗(yàn)證的技巧!

下一篇:2024年8月16日聚銘安全速遞