Nginx_修改Web服务器头信息(Header)里的Server值[转]

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: |||超大  

http://blog.rekfan.com/?p=122

黑客攻击一个网站,往往需要了解服务器的架构,网站的架构等信息,了解了这些信息,就知道网站薄弱的地方在哪里了!

为了不让对方知道自己的webserver真实环境,我们可以伪装隐藏自己的真实服务器环境.虽然安防不能做到100%,但至少也会让对方焦头烂额.废话不多说了! @_@``

一. Windows环境

修改nginx的server信息

1.进入nginx安装目录下,用文本编辑器编辑conf目录下的fastcgi.conf

fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

2.用文本编辑器编辑conf目录下的fastcgi_params

fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

3.#service nginx restart #重启nginx

隐藏nginx的server信息

1.进入nginx安装目录下,用文本编辑器编辑conf目录下的nginx.conf

#http{}里面加:

server_tokens off;

2.#service nginx restart #重启nginx

二.linux环境下

同windows 操作一样 ,可能文件名稍有不同,不过本人更改后还是显示Nginx,然后按网上的修改编译src/core/nginx.h ,我们先看下更改前的header信息:

[root@REKFAN-Server /]# curl -I http://blog.rekfan.com

HTTP/1.1 200 OK

Server: nginx

Date: Fri, 02 Nov 2012 15:25:42 GMT

Content-Type: text/html

Content-Length: 612

Last-Modified: Thu, 01 Nov 2012 18:47:51 GMT

Connection: keep-alive

ETag: "5092c3d7-264"

Accept-Ranges: bytes

修改后的src/core/nginx.h ,代码如下:

/*

* Copyright (C) Igor Sysoev

* Copyright (C) Nginx, Inc.

* http://blog.rekfan.com/?p=122

*/

#ifndef _NGINX_H_INCLUDED_

#define _NGINX_H_INCLUDED_

#define nginx_version 1003008

#define NGINX_VERSION "1.3.8"

#define NGINX_VER "REKFAN/" NGINX_VERSION

#define NGINX_VAR "REKFAN"

#define NGX_OLDPID_EXT ".oldbin"

#endif /* _NGINX_H_INCLUDED_ */

编译Nginx,重新看看结果header信息还是没变!

最后找到另一个帖子更改src/http/ngx_http_header_filter_module.c文件成功了!

找到下面两行:

static char ngx_http_server_string[] = "Server: nginx" CRLF;

static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;

将其修改为:

static char ngx_http_server_string[] = "Server: REKFAN" CRLF;

static char ngx_http_server_full_string[] = "Server: REKFAN/1.0" CRLF;

将上面红色修改为你想要显示的信息,重新编译后重新启动下Nginx!

重新查看header信息:

[root@REKFAN-Server /]# curl -I http://blog.rekfan.com

HTTP/1.1 200 OK

Server: REKFAN

Date: Fri, 02 Nov 2012 15:30:28 GMT

Content-Type: text/html

Content-Length: 612

Last-Modified: Thu, 01 Nov 2012 18:47:51 GMT

Connection: keep-alive

ETag: "5092c3d7-264"

Accept-Ranges: bytes

后来发现,当我们添加server_tokens off; 参数的时候,调用的是src/http/ngx_http_header_filter_module.c里的值

不添加的时候,显示版本号调用的是src/core/nginx.h里的值,所以我们修改的时候尽量两个地方都修改!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航