一、漏洞描述
此漏洞實際是由HTTP請求中舊DOS 8.3名稱約定(SFN)的代字符(~)波浪號引起的。它允許遠程攻擊者在Web根目錄下公開文件和文件夾名稱(不應該可被訪問)。攻擊者可以找到通常無法從外部直接訪問的重要文件,并獲取有關應用程序基礎結構的信息。
二、漏洞原理
IIS的短文件名機制,可以暴力猜解短文件名,訪問構造的某個存在的短文件名,會返回404,訪問構造的某個不存在的短文件名,返回400。
漏洞成因:
為了兼容16位MS-DOS程序,Windows為文件名較長的文件(和文件夾)生成了對應的windows 8.3短文件名。
在Windows下查看對應的短文件名,可以使用命令dir /x
短文件名特征:
1.只顯示前6位的字符,后續字符用~1代替。其中數字1是可以遞增。如果存在文件名類似的文件,則前面的6個字符是相同的,后面的數字進行遞增
2.后綴名最長只有3位,超過3位的會生成短文件名,且后綴多余的部分會截斷。
3.所有小寫字母均轉換成大寫的字母
4.長文件名中包含多個”.”的時候,以文件最后一個”.”作為短文件名的后綴
5.長文件名前綴/文件夾名字符長度符合0-9和A-Z、a-z范圍且需要大于等于9位才會生成短文件名,如果包含空格或者其他部分特殊字符,不論長度均會生成短文件。
三、漏洞環境搭建及漏洞復現
1、 測試環境為windows server 2003 r2,開啟webdav服務和net服務。
2、使用payload驗證目標是否存在IIS短文件名漏洞,下圖顯示的404,說明目標存在該短文件名
Payload: http://192.168.10.130 /*~1*/a.aspx
http://192.168.10.130/ttt*~1*/a.aspx
注:*可以匹配n個字符,n可以為0
3、瀏覽器訪問一個不存在的短文件名,返回”Bad Request(400)”,說明目標不存在該短文件名
4、通過瀏覽器訪問上面兩個payload,根據返回的結果,可以說明目標存在IIS短文件漏洞
5、判斷漏洞存在后,接下來手工詳細分析猜解IIS短文件名原理
5.1、在網站根目錄(C:/Inetpub/wwwroot)下創建一個abcdef123456.txt文件
新聞熱點
疑難解答
圖片精選