Middleware version information leaked

Last updated on 2 years ago

原文:倾旋 https://payloads.online/archivers/2018-04-18/2

0x00 中间件版本信息泄露

什么是中间件版本信息泄露

通常在HTTP报文的响应头中存在的标志、版本号等信息均属于中间件的版本信息泄露。

中间件版本信息泄露的特点

通常出现在默认安装好的Web中间件上,大部分管理员都不会修改这个标志。

0x01 中间件版本信息泄露-风险等级

** **

0x02 中间件版本信息泄露-原理

由于各大Web服务中间件为了打造品牌效应而在HTTP响应头中添加了标志信息、版本号。

0x03 中间件版本信息泄露-常见场景

  • Tomcat
  • Nginx
  • Apache
  • IIs
  • …均有此类现象

0x04 测试方案

使用CURL发送OPTIONS、GET、POST、HEAD等请求,查看响应头中的Server行。

1
curl -I -X GET http://192.168.33.133/mutillidae/

0x05 修复方案

Apache

将以下配置加入 conf/httpd.conf

1
2
ServerTokens Prod
ServerSignature Off

PHP

修改php配置文件 php.iniexpose_php On 改为:expose_php Off

IIS

移除Server

借助IIS URL Rewrite Module,添加如下的重写规则。

1
2
3
4
5
6
7
8
9
10
11
<rewrite>
<allowedServerVariables>
<add name="REMOTE_ADDR" />
</allowedServerVariables>
<outboundRules>
<rule name="REMOVE_RESPONSE_SERVER">
<match serverVariable="RESPONSE_SERVER" pattern=".*" />
<action type="Rewrite" />
</rule>
</outboundRules>
</rewrite>

存放在 C:\Windows\System32\inetsrv\config\applicationHost.config中。

移除X-AspNet-Version

web.config<httpRuntime> 中添加 enableVersionHeader="false"

1
<httpRuntime enableVersionHeader="false" />

移除X-AspNetMvc-Version

Application_Start() 中添加如下代码:

1
2
3
4
protected void Application_Start() 
{
MvcHandler.DisableMvcResponseHeader = true;
}

移除X-Powered-By

在IIS Manager的HTTP Response Headers中移除X-Powered-By

Nginx

conf/nginx.conf加入

1
server_tokens off;

Tomact

到apache-tomcat安装目录下的lib子文件夹,找到catalina.jar这包,并进行解解压。

修改 lib\catalina.zip\org\apache\catalina\util\ServerInfo.properties

1
2
3
server.info=X
server.number=5.5
server.built=Dec 1 2015 22:30:46 UTC

Referrer:
https://blog.csdn.net/A11085013/article/details/78864807


Middleware version information leaked
https://guosec.online/posts/5be9406d.html
Posted on
March 5, 2019
Updated on
February 24, 2022
Licensed under
本博客所有文章除特别声明外,均采用  协议,转载请注明出处!