欢迎光临
我们一直在努力

隐藏修改Apache和PHP版本号的必要性与方法!【适用于win和linux系统】

一般情况下,软件的漏洞信息和特定版本是相关的,因此,软件的版本号对攻击者来说是很有价值的。
在默认情况下,系统会把Apache版本模块都显示出来(http返回头信息)。如果列举目录的话,会显示域名信息(文件列表正文),如:

[root@localhost tmp]# curl -I 192.168.80.128:88
HTTP/1.1 403 Forbidden
Date: Wed, 21 Jul 2010 13:09:33 GMT
Server: Apache/2.2.15 (CentOS)
Accept-Ranges: bytes
Content-Length: 5043
Connection: close
Content-Type: text/html; charset=UTF-8

隐藏方法:

1、隐藏Apache版本号的方法是修改Apache的配置文件,如RedHat系的Linux默认是:

vim /etc/httpd/conf/httpd.conf

分别搜索关键字ServerTokens和ServerSignature,修改:

ServerTokens OS 修改为 ServerTokens ProductOnly
ServerSignature On 修改为 ServerSignature Off

修改好的如下:

ServerTokens ProductOnly
ServerSignature Off

2、重启或重新加载Apache就可以了。

测试一下,如下:

[root@localhost tmp]# curl -I 192.168.80.128:88
HTTP/1.1 403 Forbidden
Date: Wed, 21 Jul 2010 13:23:22 GMT
Server: Apache
Accept-Ranges: bytes
Content-Length: 5043
Connection: close
Content-Type: text/html; charset=UTF-8

版本号与操作系统信息已经隐藏了。
下面的方法只适合于用源码编译安装的Apache版本,里面版本的信息可以自定义修改。
目的: 对Apache源码文件进行简单修改,以诱骗普通攻击者,或者自娱自乐!
方法:修改Apache的几个源代码文件,然后自己编译安装。

一、文件操作
1、修改文件:srcdir/include/ap_release.h

#define AP_SERVER_BASEVENDOR “这里填写开发组织名,例如:Microsoft Corp.”
#define AP_SERVER_BASEPRODUCT “这里填写服务器软件名,例如:Microsoft-IIS”
#define AP_SERVER_MAJORVERSION “主版本,例如:6″
#define AP_SERVER_MINORVERSION “次版本,例如:0″
#define AP_SERVER_PATCHLEVEL “修正版本,例如:0″

2、修改文件:srcdir/include/os.h

#define PLATFORM “这里填写操作系统的名称,例如:Win32″

3、修改文件:srcdir/os/PLATFORM/os.h

#define PLATFORM “这里填写操作系统的名称,例如:Win32″

4、修改文件:srcdir/modules/generators/mod_info.c

Search “Apache Server Information” replace with “这里填写在查看server-info现实的页面标题,例如:Microsoft-IIS Information”

5、修改文件:srcdir/modules/generators/mod_status.c

Search “Apache Server Status” replace with “这里填写在查看server-status现实的页面标题,例如:Microsoft-IIS Status”

说明:
1、path/to/filename 表示要对这个文件进行操作
2、Search “A” replace with “B” 表示在文件之中搜索A,然后使用B替换

二、编译操作
按照一般正常步骤编译安装
结果:
/server-info:

Microsoft-IIS Information

Server Version: Microsoft-IIS/6.0/7.0 (Win32)

/server-status:

Apache Server Status for 127.0.0.1
Server Version: Microsoft-IIS/6.0/7.0 (Win32)
Server Built: July 26 2010 15:20:36

页面底部显示:(例如在以上两个测试和indexes情况之下)

Microsoft-IIS/6.0/7.0 (Win32) Server at 127.0.0.1 Port 80

PHP隐藏版本号的修改方法如下:

php屏蔽浏览器头信 X-Powered-By
将php.ini中

expose_php = On

改为:

expose_php = Off

如果没有找到上面的代码,就新添加一个!

赞(0)
未经允许不得转载:飘云 » 隐藏修改Apache和PHP版本号的必要性与方法!【适用于win和linux系统】
分享到: 更多 (0)