文件上傳漏洞

文件上傳漏洞:
是指網絡攻擊者上傳了一個可執行的文件到服務器並執行。
這裏上傳的文件可以是木馬,病毒,惡意腳本或者WebShell等。
這種攻擊方式是最爲直接和有效的,部分文件上傳漏洞的利用技術門檻非常的低,對於攻擊者來說很容易實施。

文件上傳漏洞原理:
大部分的網站和應用系統都有上傳功能,如用戶頭像上傳,圖片上傳,文檔上傳等。
一些文件上傳功能實現代碼沒有嚴格限制用戶上傳的文件後綴以及文件類型,導致允許攻擊者向某個可通過Web訪問的目錄上傳任意PHP文件,並能夠將這些文件傳遞給PHP解釋器,就可以在遠程服務器上執行任意PHP腳本。

文件上傳漏洞危害:
上傳漏洞與SQL注入或 XSS相比 , 其風險更大 , 如果 Web應用程序存在上傳漏洞 , 攻擊者可以直接上傳一個webshell到服務器上 .

文件上傳漏洞修復建議:
1、上傳的文件僅限圖片格式。
2、對上傳文件的大小和類型進行前後端校驗,定義上傳文件類型白名單。
3、保存上傳文件的目錄不提供直接訪問。

文件上傳主要有5種:
1、繞過前臺腳本檢測擴展名上傳WebShell
2、繞過Content-Type檢測文件類型上傳WebShell
3、利用00截斷上傳WebShell
4、繞過服務器端擴展名檢測上傳
5、利用.htaccess文件攻擊上傳Shell

實例:

1. 繞過前臺腳本檢測擴展名上傳WebShell
在這裏插入圖片描述
說明只能上傳圖片格式的文件
需把剛纔的php文件更改類型爲圖片格式的
(PS:超清大圖可能不成功)
開啓BP,設置代理,準備抓包,改包
點擊上傳的同時,進行抓包
在這裏插入圖片描述在這裏插入圖片描述
嘗試利用菜刀進行連接
連接成功即可控制本機
菜刀連接方法見本文末

2. 繞過Content-Type檢測文件類型上傳WebShell
在這裏插入圖片描述在這裏插入圖片描述
圖片類型:image/jpeg
在這裏插入圖片描述
上傳成功,嘗試進行菜刀連接
連接成功即可控制本機。
菜刀連接方法見本文末

3、利用00截斷上傳WebShell
文件命名:需要上傳的文件名+圖片格式的後綴
讓前端認爲是正常的圖片格式文件
然後利用BP,進行00截斷,過濾掉圖片文件名,只讀取到我們要的.php的文件
在這裏插入圖片描述在這裏插入圖片描述
1、打開Hex
2、找到文件名對應的行,及需要00截斷數值對應的列
3、更改數值爲00
4、放包 - - 上傳成功
在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述

利用菜刀連接:

在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述

4、繞過服務器端擴展名檢測上傳
在這裏插入圖片描述在這裏插入圖片描述

5、利用.htaccess文件攻擊上傳Shell

首先上傳一個.htaccess的文件
文件內容爲: AddType application/x-httpd-php .jpg
所有.jpg 的文件,按照php 來解析
.htaccess 屬於系統配置文件
.htaccess 解析同一目錄下的圖片
在這裏插入圖片描述

寫碼的文件,轉爲圖片格式
在這裏插入圖片描述

嘗試菜刀連接
在這裏插入圖片描述在這裏插入圖片描述

連接成功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章