首页 -> 安全研究

安全研究

安全漏洞
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"

浏览次数:3033
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障