为了解决IIS文件路径泄漏问题,可以采取以下措施:
一. 详细操作
- CMD关闭NTFS 8.3文件格式的支持
命令行:fsutil 8dot3name set 1
-
修改注册表禁用短文件名功能 CMD输入regedit回车,在注册表中找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem,将其中的 NtfsDisable8dot3NameCreation这一项的值设为 1; (以上需要重启系统生效)
-
修改IIS根节点的请求筛选-拒绝序列-URL,增加拒绝的url为~的请求 设置参考下图:
![](https://img2024.cnblogs.com/blog/54346/202410/54346-20241009171631258-735153662.png)
- 重启IIS,清理缓存,重启电脑
1)停止IIS: iisreset /stop
- 清空以下IIS缓存目录(删除Temporary ASP.NET Files目录中的文件):
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files 与 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
3)重启电脑
iis、apache、nginx使用X-Frame-Options防止网页被Frame的解决方法
解决方案:
修改web服务器配置,添加X-frame-options响应头。赋值有如下三种:
(1)DENY:不能被嵌入到任何iframe或frame中。
(2)SAMEORIGIN:页面只能被本站页面嵌入到iframe或者frame中。
(3)ALLOW-FROM uri:只能被嵌入到指定域名的框架中。
IIS环境检测到网站存在响应头缺失漏洞解决办法
<system.webServer>
<httpErrors errorMode="Detailed" />
<httpProtocol>
<customHeaders>
<add name="X-Content-Type-Options" value="nosniff" />
<add name="X-XSS-Protection" value="1" />
<add name="Strict-Transport-Security" value="max-age=31536000" />
<add name="X-Download-Options" value="noopen" />
<add name="X-Permitted-Cross-Domain-Policies" value="master-only" />
<add name="Referrer-Policy" value="origin-when-cross-origin" />
</customHeaders>
</httpProtocol>
</system.webServer>
设置完后IIS HTTP响应头设置界面显示如下
服务器版本信息泄漏
修改配置文件 web.config 防止 ASP.Net 版本泄漏,具体如下: <System.Web>
<httpRuntime enableVersionHeader="false" /> </System.Web>