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

隐藏修改Apache和PHP版本号的必要性与方法!【适用于win和linux系统】 -云主机博士 第1张

一般情况下,软件的漏洞信息和特定版本是相关的,因此,软件的版本号对攻击者来说是很有价值的。
在默认情况下,系统会把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

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

宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取


iproyal.png
原文链接:,转发请注明来源!
「隐藏修改Apache和PHP版本号的必要性与方法!【适用于win和linux系统】 -云主机博士」评论列表

发表评论