IIS短文件名泄露漏洞檢測


IIS短文件名泄露漏洞

1.漏洞描述

此漏洞實際是由HTTP請求中舊DOS 8.3名稱約定(SFN)的代字符(~)波浪號引起的。它允許遠程攻擊者在Web根目錄下公開文件和文件夾名稱(不應該可被訪問)。攻擊者可以找到通常無法從外部直接訪問的重要文件,並獲取有關應用程序基礎結構的信息。

2.漏洞原理

IIS的短文件名機制,可以暴力猜解短文件名,訪問構造的某個存在的短文件名,會返回404,訪問構造的某個不存在的短文件名,返回400。

漏洞成因:

為了兼容16位MS-DOS程序,Windows為文件名較長的文件(和文件夾)生成了對應的windows 8.3短文件名。

3.短文件名特征

  1.只顯示前6位的字符,后續字符用~1代替。其中數字1是可以遞增。如果存在文件名類似的文件,則前面的6個字符是相同的,后面的數字進行遞增。

  2.后綴名最長只有3位,超過3位的會生成短文件名,且后綴多余的部分會截斷。

  3.所有小寫字母均轉換成大寫的字母。

  4.長文件名中包含多個”.”的時候,以文件最后一個”.”作為短文件名的后綴。

  5.長文件名前綴/文件夾名字符長度符合0-9和A-Z、a-z范圍且需要大於等於9位才會生成短文件名,如果包含空格或者其他部分特殊字符,不論長度均會生成短文件。

4.檢測方法

http://www.xxxx.com/*~1****/a.aspx
 http://www.xxxx.com/l1j1e*~1****/a.aspx
 If the first one return an HTTP 404 and the second one return an 400. Your server may be exploitable to this vulnerability.

5.修復建議

1、升級.net framework

2、修改注冊表鍵值:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

修改NtfsDisable8dot3NameCreation為1。修改完成后,需要重啟系統生效。

注:此方法只能禁止NTFS8.3格式文件名創建,已經存在的文件的短文件名無法移除,需要重新復制才會消失。如果不重新復制,已經存在的短文件名則是不會消失的。

6.總結

6.1意義

1、 猜解后台地址

2、 猜解敏感文件,例如備份的rar、zip、.bak、.sql文件等。

3、 在某些情形下,甚至可以通過短文件名web直接下載對應的文件。

6.2局限性

1、 只能猜解前六位,以及擴展名的前三位。

2、 名稱較短的文件是沒有相應的短文件名的。

3、 不支持中文文件名

4、 如果文件名前6位帶空格,8.3格式的短文件名會補進,和真實文件名不匹配

5、 需要IIS和.net兩個條件都滿足

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM