王新阳

wangxinyang

IIS隐藏server头信息

隐藏 X-Powered-By: PHP/7.2.28

方法一:<?php header('X-Powered-By: abc'); ?>
方法二:php.ini expose_php = off

隐藏 server: Microsoft-IIS/10.0

方法一:如果安装了 URL Rewrite 组件,可以IIS控制台 》 网站 》 URL Rewrite 》添加规则


方法二:首先下载 UrlScan,然后直接安装。安装以后进入IIS管理,功能视图里ISAPI筛选器里应有UrlScan这一行。
全局配置文件 C:\Windows\System32\inetsrv\urlscan\UrlScan.ini
日志 C:\Windows\System32\inetsrv\urlscan\logs
RemoveServerHeader=0	; 改成1以后不显示Server
AlternateServerName=	;如果RemoveServerHeader=0可以自己定义

遇到的问题:
1、安装后如果出现带目录带"."的文件404,需要开启 AllowDotInPath
2、如果文件名中包含非ASCII字符(比如中文),需要开启 AllowHighBitCharacters
3、如果目录结尾为 .bat/.cmd/.com/.exe等(比如目录名为 abc.com),需要结合 UseAllowExtensions 屏蔽 [DenyExtensions] 中的 .com
以上均为全局修改,可以可以对某个网站单独设置,请参考:
https://www.cnblogs.com/ttzhang/archive/2010/04/27/RunPhpOnIIS7viaFastCGI.html

关于AllowHighBitCharacters的配置,UrlScan.ini中配置的规则是整个机器级别的,IIS7.0上的所有网站都适用。根据IIS官网的说明,还可以在网站级别配置。在IIS管理器中,你可以在左侧选择指定的网站后,在中间的功能区域选择"Request Filtering",双击该功能,在右侧的操作区域中点击"Edit Feature Settings"后,选中或者取消"allow high-bit characters"项即可。(可引申此方法进行其他设置)


配置参考:
https://www.cnblogs.com/xuanhun/p/3611583.html
https://blog.csdn.net/qq_25600055/article/details/78188169


URLScan配置文件:C:\Windows\System32\inetsrv\urlscan\UrlScan.ini 
配置文件详解: 
UseAllowVerbs=1 
; 允许的请求的HTTP类型; 
; 如果设置为 1,则[AllowVerbs]生效; 
; 如果设置为 0,则[AllowVerbs]生效。 
UseAllowExtensions=0 
; 允许请求的后缀类型; 
; 如果设置为 0,则[DenyExtensions]生效; 
; 如果设置为 1,则[AllowExtensions]生效。 
NormalizeUrlBeforeScan=1 
; 执行前标准化URL。 
VerifyNormalization=1 
; 双重标准化URL。 
AllowHighBitCharacters=1 
; 如果设置为 1,将允许URL中存在所有字节; 
; 如果设置为 0,含有非ASCII字符的URL将拒绝(如UTF8或者MBCS)。 
AllowDotInPath=0 
; 如果设置为0,则URLScan 拒绝所有包含多个句点 (.) 的请求。 
RemoveServerHeader=0 
;设置为1可隐藏服务器信息。 
AlternateServerName= 
; 如果将 RemoveServerHeader设为0,此可自定义服务器关信息。 
; 如果将 RemoveServerHeader设为1,则此选项将被忽略。 
EnableLogging=1 
; 开启日志记录 
PerProcessLogging=0 
; 如果设置为0,为每个进程创建日志文件。 
PerDayLogging=1 
; 如果设置为 1,则URLScan每天创建一个新的日志文件。 
AllowLateScanning=0 
; 如果设置为 0,则 URLScan 作为高优先级筛选器运行。 
UseFastPathReject=0 
; 如果设置为 1,则 URLScan 忽略 RejectResponseUrl 设置并立即向浏览器返回 404 错误信息。 
; 如果设置为 0,则 URLScan 使用 RejectResponseUrl 设置来返回请求。 
RejectResponseUrl= 
; 设置用于返回的Url路径

参考:

https://jingyan.baidu.com/article/6d704a1379629a28db51ca37.html

https://blog.51cto.com/as007012/1927552

下载:

https://download.csdn.net/download/meiren123_/5233411

https://www.iis.net/search?searchterm=urlscan

https://docs.microsoft.com/en-us/iis/extensions/working-with-urlscan/urlscan-3-reference

2019-09-18
2024-11-23 星期六 农历十月二十三