Apache的Track/trace请求漏洞修补(关闭其请求类型并测试是否关闭)

一.先测试是否允许 Track/trace 请求

操作流程: 
1.先打开windows的命令工具,开始进行如下测试↓↓↓↓↓↓↓
测试方法:
通过telnet到HTTP的某个服务端口,进行测试,如下描述(红色为你要输入的部分)。
关闭前测试会返回200 OK:
[root@web001 ~]$ telnet xxx.xxx.xxx.xxx 80
Trying xxx.xxx.xxx.xxx...
Connected to xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx).
Escape character is '^]'.
TRACE / HTTP/1.0
X-Test:abcde
HTTP/1.1 200 OK
Date: Wed, 18 Jul 2012 06:49:19 GMT
Server: Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8e-fips-rhel5 DAV/2 mod_jk/1.2.28
Connection: close
Content-Type: message/http
TRACE / HTTP/1.0
X-Test: abcde
Connection closed by foreign host.

如果是关闭:

关闭后测试会返回405 Method Not Allowed:================================================================
注:windows已安装telnet客户端在吧  
1).输入 【telnet xxx.xxx.xxx.xxx 80】点击回车
2).输入【CTRL+]】点击回车,再点击回车
3).输入【TRACE / HTTP/1.0】回车
4).输入【X-Test: abcde】两次回车
结束,看结果
================================================================
2.如果返回就是405 Method not Allowed,说明测试结果为TRACK请求已关闭,无需进行任何操作
3.如果返回是200 OK 。请继续如下操作。
4.关闭Apache服务。
5.请将文件httpd.conf文件复制到D:/PHPstudy/Apache/conf/中(先将原文件备份)
6.重启Apache服务。重复第一步操作进行测试。

二.关闭方式

1.在.htaccess文件中添加如下代码过滤TRACE请求:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
</IfModule>

2.在httpd.conf尾部添加如下指令后重启apache:

TraceEnable off

三.其他遇到的问题

1.telnet 无效指令,如图:

解决办法:

发布了40 篇原创文章 · 获赞 41 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/weixin_42799222/article/details/88710097