安全研究
安全漏洞
Sun ONE/iPlanet Web Server HTTP TRACE信息窃取漏洞
发布日期:2004-02-02
更新日期:2004-02-11
受影响系统:
Sun ONE/iPlanet Web Server 6.0 SP5描述:
Sun ONE/iPlanet Web Server 6.0 SP4
Sun ONE/iPlanet Web Server 6.0 SP3
Sun ONE/iPlanet Web Server 6.0 SP2
Sun ONE/iPlanet Web Server 6.0 SP1
Sun ONE/iPlanet Web Server 6.0
Sun ONE/iPlanet Web Server 4.1 SP9
Sun ONE/iPlanet Web Server 4.1 SP8
Sun ONE/iPlanet Web Server 4.1 SP12
Sun ONE/iPlanet Web Server 4.1 SP11
Sun ONE/iPlanet Web Server 4.1 SP10
Sun ONE/iPlanet Web Server 4.1 SP1
Sun ONE/iPlanet Web Server 4.1
BUGTRAQ ID: 9561
Sun ONE/iPlanet是Sun公司推出的智能Web服务的软件组合系统,其中包含Sun ONE统一开发服务器,Sun ONE应用服务器可安装在Windows和Unix操作系统上。
Sun ONE/iPlanet对HTTP TRACE请求处理存在问题,远程攻击者可以利用这个漏洞窃取一些基于验证的如COOKIE等敏感信息。
问题是由于Sun ONE/iPlanet默认情况下对HTTP TRACE请求的应答处理不正确,结合跨站脚本问题及使用HTTP TRACE方法对Sun ONE/iPlanet服务器进行请求,可导致获得基于验证的如COOKIE等敏感信息。
<*来源:Sun(sm) Alert Notification
链接:http://sunsolve.sun.com/pub-cgi/retrieve.pl?doc=fsalert%2F50603
*>
建议:
厂商补丁:
Sun
---
Sun为Sun ONE Web Server releases 6.0 SP2及之后版本提供如下临时解决方案:
在obj.conf顶端增加如下内容:
<Client method="TRACE">
AuthTrans fn="set-variable" remove-headers="transfer-encoding" set-headers="content-length: -1" error="501"
</Client>
重新启动WEB服务器。
下面的临时解决方案针对Sun ONE Web Server releases 6.0 SP2之前版本:
建立reject_trace.c文件,并粘贴如下代码:
----------------------------- start --------------------------------
#include "nsapi.h"
NSAPI_PUBLIC int reject_trace(pblock *pb, Session *sn, Request *rq)
{
const char *method;
method = pblock_findval("method", rq->reqpb);
if (method && !strcmp(method, "TRACE")) {
/*
* Set a bogus content length so the TRACE handler will refuse to
* handle the request
*/
param_free(pblock_remove("transfer-encoding",rq->headers));
param_free(pblock_remove("content-length", rq->headers));
pblock_nvinsert("content-length", "-1", rq->headers);
log_error(LOG_WARN, "reject-trace", sn, rq, "rejecting TRACE request");
protocol_status(sn, rq, PROTOCOL_NOT_IMPLEMENTED, NULL);
return REQ_ABORTED;
}
return REQ_NOACTION;
}
----------------------- end --------------------------------
编译NSAPI:
http://docs.sun.com/source/816-5686-10/04_mysaf.htm#15053(6.x)
http://docs.sun.com/source/816-5673-10/04_mysaf.htm#15053(4.x)
Sun ONE/iPlanet Web Server 6.0 RTM和6.0 SP1增加如下内容到magnus.conf文件中:
Init fn="load-modules" shlib="<path to library>/reject_trace.so"funcs="reject_trace"
然后编辑obj.conf文件,在<Object name="default">后增加如下行:
AuthTrans fn="reject_trace"
Sun ONE/iPlanet Web Server 4.1 Service Pack 1 through 12可以通过编辑obj.conf和增加如下段解决:
Init fn="load-modules" shlib="<path to library>/reject_trace.so"funcs="reject_trace"
然后在<Object name="default">行后增加如下内容:
AuthTrans fn="reject_trace"
浏览次数:3047
严重程度:0(网友投票)
绿盟科技给您安全的保障