IIS短文件名漏洞復(fù)現(xiàn)圖文詳解
一、漏洞描述
此漏洞實(shí)際是由HTTP請(qǐng)求中舊DOS 8.3名稱(chēng)約定(SFN)的代字符(~)波浪號(hào)引起的。它允許遠(yuǎn)程攻擊者在Web根目錄下公開(kāi)文件和文件夾名稱(chēng)(不應(yīng)該可被訪問(wèn))。攻擊者可以找到通常無(wú)法從外部直接訪問(wèn)的重要文件,并獲取有關(guān)應(yīng)用程序基礎(chǔ)結(jié)構(gòu)的信息。
二、漏洞原理
IIS的短文件名機(jī)制,可以暴力猜解短文件名,訪問(wèn)構(gòu)造的某個(gè)存在的短文件名,會(huì)返回404,訪問(wèn)構(gòu)造的某個(gè)不存在的短文件名,返回400。
漏洞成因:
為了兼容16位MS-DOS程序,Windows為文件名較長(zhǎng)的文件(和文件夾)生成了對(duì)應(yīng)的windows 8.3短文件名。
在Windows下查看對(duì)應(yīng)的短文件名,可以使用命令dir /x
短文件名特征:
1.只顯示前6位的字符,后續(xù)字符用~1代替。其中數(shù)字1是可以遞增。如果存在文件名類(lèi)似的文件,則前面的6個(gè)字符是相同的,后面的數(shù)字進(jìn)行遞增
2.后綴名最長(zhǎng)只有3位,超過(guò)3位的會(huì)生成短文件名,且后綴多余的部分會(huì)截?cái)唷?/p>
3.所有小寫(xiě)字母均轉(zhuǎn)換成大寫(xiě)的字母
4.長(zhǎng)文件名中包含多個(gè)”.”的時(shí)候,以文件最后一個(gè)”.”作為短文件名的后綴
5.長(zhǎng)文件名前綴/文件夾名字符長(zhǎng)度符合0-9和A-Z、a-z范圍且需要大于等于9位才會(huì)生成短文件名,如果包含空格或者其他部分特殊字符,不論長(zhǎng)度均會(huì)生成短文件。
三、漏洞環(huán)境搭建及漏洞復(fù)現(xiàn)
1、 測(cè)試環(huán)境為windows server 2003 r2,開(kāi)啟webdav服務(wù)和net服務(wù)。
2、使用payload驗(yàn)證目標(biāo)是否存在IIS短文件名漏洞,下圖顯示的404,說(shuō)明目標(biāo)存在該短文件名
Payload: http://192.168.10.130 /*~1*/a.aspx
http://192.168.10.130/ttt*~1*/a.aspx
注:*可以匹配n個(gè)字符,n可以為0
3、瀏覽器訪問(wèn)一個(gè)不存在的短文件名,返回”Bad Request(400)”,說(shuō)明目標(biāo)不存在該短文件名
4、通過(guò)瀏覽器訪問(wèn)上面兩個(gè)payload,根據(jù)返回的結(jié)果,可以說(shuō)明目標(biāo)存在IIS短文件漏洞
5、判斷漏洞存在后,接下來(lái)手工詳細(xì)分析猜解IIS短文件名原理
5.1、在網(wǎng)站根目錄(C:\Inetpub\wwwroot)下創(chuàng)建一個(gè)abcdef123456.txt文件
5.2、瀏覽器分別訪問(wèn)http://192.168.10.130/a*~1*/a.aspx, http://192.168.10.130/b*~1*/a.aspx
5.3、通過(guò)以上兩個(gè)圖片,可以看出存在一個(gè)以a開(kāi)頭的短文件名
5.4、按照上面的方法依次猜解可以得到http://192.168.10.130/abcdef*~1*/a.aspx,到此,已經(jīng)猜解出來(lái)短文件名,到了這一步,需要考慮兩種情況,以abcdef開(kāi)頭的是一個(gè)文件夾還是一個(gè)文件。
如果以abcdef開(kāi)頭的是一個(gè)文件夾,那么瀏覽器訪問(wèn)http://192.168.10.130/abcdef*~1/a.aspx,將返回404,如果abcdef開(kāi)頭的是一個(gè)文件,需要猜解后綴名
5.5、瀏覽器訪問(wèn)http://192.168.10.130/abcdef*~1/a.aspx,根據(jù)下圖返回結(jié)果說(shuō)明以abcdef開(kāi)頭的不是一個(gè)文件夾,而是一個(gè)文件
5.6、瀏覽器訪問(wèn)http://192.168.10.130/abcdef*~1.a*/a.aspx,根據(jù)下圖返回說(shuō)明該短文件后綴的第一位不是a
5.7、用a-z的26個(gè)字母依次替換上述a的位置,當(dāng)替換成t時(shí),返回404頁(yè)面,說(shuō)明該短文件的第一位后綴是t
5.8、按照上面的方法依次猜解得到該短文件名的后綴是txt
5.9、到此為止,已經(jīng)猜解出該短文件名為abcdef~1.txt
6、根據(jù)已經(jīng)猜解出來(lái)的短文件名abcdef~1.txt,繼續(xù)猜解出該短文件名的完全文件名為abcdef123456.txt
7、使用IIS短文件名掃描軟件,獲取目標(biāo)存在哪些短文件名
四、漏洞防御
1、升級(jí).net framework
2、修改注冊(cè)表鍵值:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
修改NtfsDisable8dot3NameCreation為1。修改完成后,需要重啟系統(tǒng)生效。
注:此方法只能禁止NTFS8.3格式文件名創(chuàng)建,已經(jīng)存在的文件的短文件名無(wú)法移除,需要重新復(fù)制才會(huì)消失。如果不重新復(fù)制,已經(jīng)存在的短文件名則是不會(huì)消失的
2.1重啟系統(tǒng)之后,在網(wǎng)站根目錄(C:\Inetpub\wwwroot)下創(chuàng)建hhhhhhhhhhhhhhhhhhhh.txt,然后查看是否會(huì)生成短文件名。下圖可以看到,沒(méi)有生成短文件名,說(shuō)明防御生效。
2.2、將wwwroot目錄下文件復(fù)制到另一個(gè)back文件下,然后刪除原wwwroot目錄下所有內(nèi)容,再把back下的內(nèi)容重新復(fù)制到wwwroot目錄下,這時(shí)重新查看,則不存在短文件名了
五、總結(jié)
該漏洞的意義:
1、 猜解后臺(tái)地址
2、 猜解敏感文件,例如備份的rar、zip、.bak、.sql文件等。
3、 在某些情形下,甚至可以通過(guò)短文件名web直接下載對(duì)應(yīng)的文件。
該漏洞的局限性:
1、 只能猜解前六位,以及擴(kuò)展名的前三位。
2、 名稱(chēng)較短的文件是沒(méi)有相應(yīng)的短文件名的。
3、 不支持中文文件名
4、 如果文件名前6位帶空格,8.3格式的短文件名會(huì)補(bǔ)進(jìn),和真實(shí)文件名不匹配
5、 需要IIS和.net兩個(gè)條件都滿(mǎn)足。
好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
IIS由于出現(xiàn)權(quán)限不足而無(wú)法讀取配置文件解決方案
在啟動(dòng)網(wǎng)站時(shí),提示由于權(quán)限不足而無(wú)法讀取配置,本文主要介紹了IIS由于出現(xiàn)權(quán)限不足而無(wú)法讀取配置文件解決方案,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09Windows Server 2016中安裝PHP Manager、ARR3.0或者URL Rewrite 2.0無(wú)法成
這篇文章主要為大家詳細(xì)介紹了Windows Server 2016中安裝PHP Manager、ARR3.0或者URL Rewrite 2.0無(wú)法成功的解決辦法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05云服務(wù)器windows?server2019安裝.net3.5環(huán)境(實(shí)戰(zhàn)測(cè)試教程)
程序需要net3.5的支持,但是因?yàn)樵品?wù)器沒(méi)有鏡像包的支援,所以沒(méi)辦法直接安裝net3.5,以下為大家?guī)?lái)云服務(wù)器安裝net3.5的詳細(xì)教程2023-02-02win2003 創(chuàng)建 IP安全策略來(lái)屏蔽端口的圖文教程
IP安全性(Internet Protocol Security)是Windows XP/2003中提供的一種安全技術(shù),它是一種基于點(diǎn)到點(diǎn)的安全模型,可以實(shí)現(xiàn)更高層次的局域網(wǎng)數(shù)據(jù)安全性。2010-04-04WinXP下安裝IIS搭建ASP環(huán)境教程[圖文]
目前不少站長(zhǎng)朋友還是使用Windows XP,這樣一來(lái),如何在本地搭建ASP環(huán)境就成了一個(gè)不小的問(wèn)題。下面,筆者將圖文演示 Windows XP下安裝IIS搭建ASP環(huán)境 的全過(guò)程,希望對(duì)新手有所幫助2012-04-04Winserver2019搭建主輔域名解析服務(wù)器的方法
本文主要介紹了Winserver2019搭建主輔域名解析服務(wù)器的方法,詳細(xì)的介紹了主輔域名服務(wù)器配置及其報(bào)錯(cuò)的解決方法,具有一定的參考價(jià)值,感興趣的可以了解一下2024-04-04SERV-U打造最安全的FTP安全設(shè)置教程[圖文]
作為一款精典的FTP服務(wù)器軟件,SERV-U一直被大部分管理員所使用,它簡(jiǎn)單的安裝和配置以及強(qiáng)大的管理功能的人性化也一直被管理員們稱(chēng)頌。但是隨著使用者越來(lái)越多,該軟件的安全問(wèn)題也逐漸顯露出來(lái)。2008-10-10IIS中查看W3P.exe進(jìn)程對(duì)應(yīng)的應(yīng)用程序池的方法
在進(jìn)程中發(fā)現(xiàn)個(gè)別的w3p.exe進(jìn)程占用資源較高,這個(gè)進(jìn)程每一個(gè)代表一個(gè)應(yīng)用程序池,我們就知道哪些網(wǎng)站可能導(dǎo)致了這個(gè)原因。2011-03-03