Apache Server ETag Header Information Disclosure

1. 漏洞报告

image

2. 漏洞介绍

      Etag是 Entity tag的缩写,可以理解为“被请求变量的实体值”,Etag是服务端的一个资源的标识,在 HTTP 响应头中将其传送到客户端。所谓的服务端资源可以是一个Web页面,也可以是JSON或XML等。服务器单独负责判断记号是什么及其含义,并在HTTP响应头中将其传送到客户端。比如,浏览器第一次请求一个资源的时候,服务端给予返回,并且返回了ETag: "50b1c1d4f775c61:df3" 这样的字样给浏览器,当浏览器再次请求这个资源的时候,浏览器会将If-None-Match: W/"50b1c1d4f775c61:df3" 传输给服务端,服务端拿到该ETAG,对比资源是否发生变化,如果资源未发生改变,则返回304HTTP状态码,不返回具体的资源。

3. 漏洞危害

      由于ETag标头提供了可以帮助攻击者的敏感信息,因此远程Web服务器受到信息泄露漏洞的影响。

4. 漏洞检测

λ curl I http://192.168.43.58
HTTP/1.1 200 OK
Date: Tue, 20 Apr 2021 06:50:28 GMT
Server: Apache/2.2.8 (Ubuntu) DAV/2 mod_fastcgi/2.4.6 PHP/5.2.4-2ubuntu5 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g
Last-Modified: Sun, 02 Nov 2014 18:20:24 GMT
ETag: "ccb16-24c-506e4489b4a00"                                //*****
Accept-Ranges: bytes
Content-Length: 588
Content-Type: text/html


5. 漏洞修复

将 FileETag none 添加到httpd.conf中,保存后重启启动apache服务器即可。

root@bee-box:/# cat /etc/apache2/httpd.conf | grep FileETag -A 1 -B 1
</Location>
FileETag none
root@bee-box:/# /etc/init.d/apache2 restart
 * Restarting web server apache2                                         [ OK ] 

λ curl -I http://192.168.43.58
HTTP/1.1 200 OK
Date: Tue, 20 Apr 2021 06:56:35 GMT
Server: Apache/2.2.8 (Ubuntu) DAV/2 mod_fastcgi/2.4.6 PHP/5.2.4-2ubuntu5 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g
Last-Modified: Sun, 02 Nov 2014 18:20:24 GMT
Accept-Ranges: bytes
Content-Length: 588
Content-Type: text/html

posted @ 2021-04-20 15:02  一曲天地远  阅读(425)  评论(0编辑  收藏  举报