设为首页 收藏本站
查看: 969|回复: 0

[经验分享] 修改apache编译文件和隐藏方法

[复制链接]

尚未签到

发表于 2018-11-27 12:05:58 | 显示全部楼层 |阅读模式
  一般情况下,软件的漏洞信息和特定版本是相关的,因此,软件的版本号对***者来说是很有价值的。
在默认情况下,系统会把Apache版本模块都显示出来(http返回头信息)。如果列举目录的话,会显示域名信息如:


  • [root@localhost tmp]# curl -I localhost
  • HTTP/1.1 403 Forbidden
  • Date: Wed, 21 Jul 2010 13:09:33 GMT
  • Server: Apache/2.2.9 (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


  分别搜索关键字ServerTokensServerSignature,修改:

ServerTokens OS 修改为 ServerTokens ProductOnly
ServerSignature On 修改为 ServerSignature Off
  2、重启或重新加载Apache就可以了。


  • apachectl restart


  测试一下,如下:


  • [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


  版本号与操作系统信息已经隐藏了。
3、上面的方法是默认情况下安装的Apache,如果是编译安装的,还可以用修改源码编译的方法:
进入Apache的源码目录下的include目录,然后编辑ap_release.h这个文件,你会看到有如下变量:



  • #define AP_SERVER_BASEVENDOR “Apache Software Foundation”
  • #define AP_SERVER_BASEPROJECT “Apache HTTP Server”
  • #define AP_SERVER_BASEPRODUCT “Apache”
  • #define AP_SERVER_MAJORVERSION_NUMBER 2
  • #define AP_SERVER_MINORVERSION_NUMBER 2
  • #define AP_SERVER_PATCHLEVEL_NUMBER 9
  • #define AP_SERVER_DEVBUILD_BOOLEAN 0


  可以根据自己喜好,修改或隐藏版本号与名字。

本人修改的部分操作:
  一、文件操作
  1、修改文件: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、修改文件:os/Unix/os.h
  #define PLATFORM “这里填写操作系统的名称,例如:Win32″
  3、修改文件:os/PLATFORM/os.h
  #define PLATFORM “这里填写操作系统的名称,例如:Win32″
  4、修改文件:modules/generators/mod_info.c
  Search “Apache Server Information” replace with “这里填写在查看server-info现实的页面标题,例如:Microsoft-IIS Information”
  5、修改文件: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: Aug 17 2010 16:31:12
  页面底部显示:(例如在以上两个测试和indexes情况之下)
  Microsoft-IIS/6.0/7.0 (Win32) Server at 127.0.0.1 Port 80




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-640298-1-1.html 上篇帖子: CentOS 6.2编译安装Apache2.4.1+MySQL5.5.21+PHP5.3.10 下篇帖子: Apache Server 服务器端包含(SSI)设置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表