文件上傳漏洞筆記

文件上傳漏洞:

如果服務器配置不當或者沒有進行足夠的過濾,而導致用戶可以向服務器上傳任意文件
包括木馬,病毒,惡意腳本或者WebShell等,並被腳本解析器執行,這就產生了文件上傳漏洞
一句話木馬(小馬):<?php @eval($_POST['test']);?>
需要和中國菜刀搭配

中國菜刀的三個基本功能:

1.文件管理 2.數據庫管理 3.虛擬終端

前期需要蒐集什麼信息?

1.目標使用的語言
2.中間件
3.服務器系統
4.可以上傳什麼類型的文件

解析漏洞:

IIS6.0解析漏洞

1.目錄解析:默認會把 .asp, .asa目錄下的文件都解析成asp文件。
如:/test.asp/test.jpg
2.文件解析:
/test.asp;1.jpg
IIS6.0默認的可執行文件除了asp還包括 .asa、 .cer、 .cdx

Apache解析漏洞

Apache1.x和Apache2.x中存在解析漏洞
在解析文件時有一個順序,當碰到不認識的擴展名時,將會從後向前解析
直到碰到認識的擴展名爲止,如果都不認識,則會暴露其源碼
如:test.php.xxx

Nginx<0.8.03空字節代碼執行漏洞

影響版本:0.5.x,0.6.x,0.7<=0.7.65,0.8<=0.8.37
Nginx在圖片中嵌入PHP代碼然後通過訪問test.jpg%00.php來執行其中的代碼

常見的檢測方式:

1.客戶端檢測(javascript檢測文件擴展名):可以通過Bp抓包進行繞過
2.服務端檢測(文件擴展名檢測):黑白名單
黑名單:文件名大小寫繞過、名單列表繞過(如asa,cer,cdx,php3等)、0x00截斷
白名單:解析漏洞、0x00截斷
3.服務端檢測(MIME類型、Content-Type內容)
所謂MIME類型檢測實際上就是客戶端在上傳文件到服務端的時候,服務端對客戶端上傳文件的
Content-Type類型進行檢測,如果是白名單所允許的,則可以正常上傳,否則上傳失敗

常見的例子:

’.gif’:‘image/gif’
‘.doc’:‘application/msword’
‘.asp’:‘application/x-asp’
4.服務端檢測(文件頭檢測)
插入服務器允許的文件頭部進行繞過
如:GIF968a

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