首页 -> 安全研究

安全研究

安全漏洞
Sun Java Web Server可以远程执行任意命令

发布日期:2000-08-23
更新日期:2000-08-23

受影响系统:

Sun Java Web Server 2.0
Sun Java Web Server 1.1.3
   - Sun Solaris
   - Sun Solaris 8.0
   - Sun Solaris 7.0
   - Sun Solaris 2.x
   - Microsoft Windows NT 4.0
描述:

Sun的Java Web服务器存在多个安全问题,允许攻击者远程以web服务器权限执行命令。

它的Web管理模块监听9090端口,通过http处理管理命令。
"com.sun.server.http.pagecompile.jsp92.JspServlet" servlet用来编译并执行JSP文件的,
通过增加"/servlet/"前缀,远程用户可以使用这个servlet来编译并执行管理目录下的任意JSP
文件。

这个服务器缺省带了一个留言版的演示程序,它允许用户通过
http://jws.site:9090/examples/applications/bboard/bboard_frames.html
提交文章并将提交的内容储存在board.html中。

攻击者可以将某些JSP语句通过留言版输入,然后调
用"com.sun.server.http.pagecompile.jsp92.JspServlet"去编译执行board.html文件:

http://jws.site:9090/servlet/com.sun.server.http.pagecompile.jsp92.JspServlet/board.html

这将导致攻击者远程以web服务器权限执行命令。

<*来源:  Saumil Shah (saumil.shah@foundstone.com)
         Shreeraj Shah (shreeraj.shah@foundstone.com)
         Stuart McClure (stuart.mcclure@foundstone.com)
         Foundstone, Inc. (http://www.foundstone.com)
*>



测试方法:

警 告

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


将这段代码:
       <% String s="Hello World"; %>
        <%=s %>
在留言版中提交:
http://jws.site:9090/examples/applications/bboard/bboard_frames.html

然后通过 http://jws.site:9090/board.html 确认已经提交。
使用下列链接就可以打印出"Hello world"内容了:

http://jws.site:9090/servlet/com.sun.server.http.pagecompile.jsp92.JspServlet/board.html


建议:

临时解决方法:

删除演示勇的留言版程序

厂商补丁:

Sun已经提供了相应的补丁程序:

        Java Web Server Version    Patch ID
        ------------------------   -----------
        1.1.3                      Patch 3
        2.0                        Patch 3

http://java.sun.com/products/java-server/jws113patch3.html
http://java.sun.com/products/java-server/jws20patch3.html



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