Chinaunix首页 | 论坛 | 博客
  • 博客访问: 149229
  • 博文数量: 13
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1192
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-11 15:41
个人简介

Cyber Security

文章分类

全部博文(13)

文章存档

2015年(1)

2014年(6)

2013年(6)

分类: 系统运维

2013-10-16 16:27:03

以前我写过一篇如何伪装nginx的版本防止web服务器被入侵的博文,之后就有朋友问我,apache是否也有同样的方法,答案是肯定的。今天写这篇回答这个问题吧。

下载apache源码,我用的是2.2.25版本

解压文件apache源码包

点击(此处)折叠或打开

  1. tar xzvf httpd-2.2.25.tar.gz
修改源码文件

点击(此处)折叠或打开

  1. vim httpd-2.2.25/include/ap_release.h


这是一个带有apache版本号的headerfile

剩下的就是编译安装了,最简单的参数

点击(此处)折叠或打开

  1. ./configure--prefix=/usr/local/apache && make && make install
修改配置文件/usr/local/apache/conf/httpd.conf,增加如下内容
 

  

启动apache服务

点击(此处)折叠或打开

  1. /usr/local/apache/bin/apachectl start

 

访问任意一个不存在的页面

 

可以看到web服务器的banner版本号是微软的IIS/7.0,而不是真正的apache2.2.25

还没完,因为有经验的黑客还是从404页面的风格看出来,这显然不是IIS的风格,当然你可以选择再次修改/usr/local/apache/conf/httpd.conf文件


  以上是把banner的版本号彻底隐藏不显示
 

当然这些都会让有经验的黑客认出这是apache的默认404页面,那么就自己做个404吧,最好的办法是把IIS7.0的默认404的html代码拷贝过来作为apache服务器的404页面,呵呵

然后修改/usr/local/apache/conf/httpd.conf文件

 

最后看看效果,再访问一次

 

可以用以下手段来测试一下修改的效果

telnet模仿GET方式请求查看

 

curl-I请求head信息

 

nmap扫描80端口http服务版本

 

全部都是显示为微软的IIS服务

呵呵,完全伪装成Microsoft IIS 7.0了,别忘了把403等页面也一起修改了吧

 

阅读(4807) | 评论(4) | 转发(2) |
给主人留下些什么吧!~~

linuxnerd2013-10-17 14:11:37

hexel:呵呵,这个有点意思,不过如果用浏览器调试工具查看http头是不是还能区别呢?

curl就是获得http报文的head

回复 | 举报

linuxnerd2013-10-17 14:11:06

大块头:哈哈哈,虎虎小菜鸟还行,大黑是不会上当的,用抓包工具一下就看出来了

你用抓包试过吗?

回复 | 举报

大块头2013-10-17 13:37:02

哈哈哈,虎虎小菜鸟还行,大黑是不会上当的,用抓包工具一下就看出来了

hexel2013-10-17 13:35:31

呵呵,这个有点意思,不过如果用浏览器调试工具查看http头是不是还能区别呢?