IIS短文件或文件夹名泄露(IIS Short File/Folder Name Disclosure),是指攻击者通过构造特定的请求,可以获取到IIS服务器目录下的文件或目录名称,并根据这些信息进行后续的攻击。
以下是IIS短文件或文件夹名泄漏攻击的完整攻略:
攻击原理
在Windows操作系统中,文件或目录的名称有长名称和短名称两种表示方式。Windows同时为每个文件或目录都生成一个8.3格式的短名称。而IIS服务器默认开启了8.3文件名生成,因此在IIS服务器目录下,每个长文件或目录名称都对应着一个短名称。
攻击者通过构造特定的HTTP请求,比如请求包含~1或%20等,可以在HTTP响应中获得短文件或文件夹名。利用这些信息,攻击者可以进一步获取网站的敏感信息,如网站的架构、目录结构等,导致网站的安全性受到威胁。
示例说明
以下两个示例说明IIS短文件或文件夹名泄露攻击:
示例一
http://www.example.com/test.asp/..
在这个请求中,test.asp是一个存在的文件,但是”/..”表明请求是在test.asp所在目录的上一级目录进行的。IIS会自动将请求解析为一下路径:
wwwroot\test.asp\..\(or ../)
即访问wwwroot目录中test.asp上一级目录,返回的文件名中包含了真实名称的一部分。
示例二
http://www.example.com/index.asp/..%255c..
这是一种利用URL编码来进行攻击的方式。%25表示URL编码中的“%”符号,因此%255c实际表示"\"符号。在这个请求中,攻击者通过输入一个特殊的字符串"/..%255c..",IIS服务器会将其解析成"/../",从而返回真实文件名中的端口号和网站根目录名称等敏感信息。
防御措施
为了防止IIS短文件或文件夹名泄露攻击,可以采取以下防御措施:
- 关闭8.3命名功能,使用长文件名代替短文件名;
- 对URL参数进行过滤和检查,避免出现短文件名泄露符号;
- 对敏感数据进行加密存储,减少数据泄露的影响。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:IIS Short File/Folder Name Disclosure(iis短文件或文件夹名泄露) - Python技术站