Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1529470
  • 博文数量: 3500
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 43870
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-03 20:31
文章分类

全部博文(3500)

文章存档

2008年(3500)

我的朋友

分类:

2008-05-04 19:40:18

一起学习
发布日期: 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://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 ";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”。 下载本文示例代码


BEA Weblogic多缓冲区溢出漏洞BEA Weblogic多缓冲区溢出漏洞BEA Weblogic多缓冲区溢出漏洞BEA Weblogic多缓冲区溢出漏洞BEA Weblogic多缓冲区溢出漏洞BEA Weblogic多缓冲区溢出漏洞BEA Weblogic多缓冲区溢出漏洞BEA Weblogic多缓冲区溢出漏洞BEA Weblogic多缓冲区溢出漏洞BEA Weblogic多缓冲区溢出漏洞BEA Weblogic多缓冲区溢出漏洞BEA Weblogic多缓冲区溢出漏洞
阅读(227) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~