荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: jjksam (我要k书! 欢迎光临Linux,InstallBBS版), 信区: Security
标  题: BEA Weblogic多缓冲区溢出漏洞
发信站: 荔园晨风BBS站 (Mon Dec 10 22:10:51 2001), 转信

BEA Weblogic多缓冲区溢出漏洞
(安全烽火台 2001年08月20日 17:04)

信息提供: 感谢Jun-Peng提供本公告。
安全公告(或线索)提供热线:tech@staff.ccidnet.com。
发布日期: 2001年8月20日
更新日期: 2001年8月20日
受影响系统: Netscape Enterprise Webserver (NES)
-----------------------------------
NSAPI Weblogic binaries are:
NES for UNIX - libproxy.so
NES for NT - proxy30.dll, proxy35.dll, proxy36.dll
- Solaris with NES versions 3.0 to 4.1
- AIX with NES 3.6
- HP-UX 10.20 with NES version 3.6
- HP-UX 11.00 with NES version 3.6
- Windows NT with NES versions 3.0 to 4.1

Internet Information Server (IIS)
---------------------------------
ISAPI Weblogic binaries are:
IIS - iisproxy.dll
- NT 4.0 with IIS 4.0

Apache Server
-------------
ISAPI Weblogic binaries are:
Apache for UNIX - mod_wl.so, mod_wl_ssl.so, mod_wl_ssl_raven.so
- Solaris with Apache Server 1.3.9, 1.3.12
- Linux with Apache Server 1.3.9, 1.3.12
- HP-UX 11.00 with Apache Server 1.3.9, 1.3.12
- C2Net Stronghold/3.0 and Covalent Raven/1.4.3
- C2Net Stronghold/3.0 and Covalent Raven/1.4.3
- C2Net Stronghold/3.0
- Linux with Apache Server 1.3.9, 1.3.12
- HP-UX 11.00 with Apache Server 1.3.9, 1.3.12
漏洞描述: BEA Syetems Inc. Weblogic服务器提供措施将它集成到第三方web服务器。这
是通过一个插件来完成的,它允许第三方web服务器代理向Weblogic服务器的请求。象BEA
文档中描述的那样,Netscape Enterprise Server、IIS和Apache均以动态链接库的形式支
持插件。这些web服务器通过配置可以将请求servlets和JSP文件重定向到运行在同一个或
不同主机的Weblogic服务器。BEA Weblogic服务器提供的这些插件存在几个缓冲区溢出,
允许远程攻击者执行代理web服务器所在系统上的任意代码。
测试方法: 此程序只供研究使用,可能会对系统带来危害,不得用于其它用途!否则后果
自负!
测试使用iPalnet Webserver Enterpris 4.1作为代理Web服务器。按照BEA文档,使用下面
的servername/config/obj.conf文件将它配置成将.JSP请求重定向到不同主机上的
Weblogic服务器:
obj.conf:
[... text deleted ...]
[...] Service method=(GET|HEAD|POST|PUT) type=text/jsp fn=wl-proxy\
WebLogicHost=weblogic WebLogicPort=7001
PathPrepend=/jspfiles [....]
[....]
上述配置将指导iPlanet Webserver使用提供的库(libproxy.so),将.JSP文件请求重定向
到Weblogic服务器,它侦听在主机的7001/tcp端口。字符串'/jspfile'将插在送到
Weblogic主机URL的前面。
例如,请求'http://webserver/test.jsp?my_parameter'将变成'http://weblogic:
7001/jspfiles/test.jsp?my_parameter',然后发送到Weblogic服务器。
处理被代理的请求是由libproxy.so的wl_proxy函数进行的。在位置wl_proxy+1812,将调
用strcat()连接obj.conf文件中指定的PathPrepend参数,这里没有对栈中分配的目的缓冲
区进行边界检查。如果请求长度大于2100个字符,一个缓冲区溢出条件就会触发,任意代
码就可以以运行代理web服务器用户的身份执行。
漏洞的攻击是困难的,因为溢出后某些放在栈中的自动变量被破坏,将会在执行ret指令前
在wl_proxy+1896处被访问。
而且,代理web服务器将对收到的请求进行某些长度检查,所以不太可能发送任意长度的请
求。然而代理web服务器的这个长度限制是充分允许一个攻击者进行攻击的。
攻击时,并不需要设置PathPrepend参数。
示例代码如下:
$ perl -e 'print "GET http://webserver/test.jsp?";print "A"x2200;\
print " HTTP/1.0\n\n"'|nc weblogic 80
解决方法: 对于所有OS平台上独立版本或者作为BEA WebLogic Enterprise 5.1一部分的
BEA WebLogic Server 和 Express 5.1.x、4.5.x,升级集成于第三方web服务器的代理插
件。软件包(800kb)。
文件包括用于Netscape Enterprise Server (NES),MicrosoftInternet Information
Server (IIS),和Apache Web
servers代理插件的升级版本。保存计算的URI路径的缓冲区最大尺寸是2048字节。如果一
个计算URI路径比缓冲区的尺寸大,代理插件就会按照HTTP 1.1规范向客户报告错误“
414 - Request-URI Too Long”。

(责任编辑 吴北 jiaoxq@staff.ccidnet.com)

--
                 ____________________________________________
                |┏━━━━━━━━━━━━━━━━━━━━┓
                |┃ 欢迎光临荔园晨风 Linux 版,InstallBBS 版┃
                |┗━━━━━━━━━━━━━━━━━━━━┛
                 ﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋
                     welcome to http://www.linuxbyte.net

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.146]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店