当前位置: 首页 > 图文教程 > 网络编程 > JSP > Sun Java Web Server 能让攻击者远程执行任意命令

JSP
Hibernate 的原理与配置
Java中关于XML的API
Eclipse插件开发之新手入门
为什么要学习Hibernate?
Java2下Applet数字签名
Weblogic上配置Hibernate为JNDI
JavaBean(EJB) 3.0 全新体验
品味Spring 的魅力
Hibernate的JNDI绑定分析
Java开源项目Hibernate
JDO 2.0查询语言的特点
JBuilderX+SQL Server开发hibernate
运行时实现Java的多态性
Hibernate获得成功的十大理由
Hibernate包作用详解
Java动态代理实现AOP
J2SE1.5 注释语法
Java代码构建一个线程池
JBuilder2005开发Web应用程序
Java数据库编程中的技巧

JSP 中的 Sun Java Web Server 能让攻击者远程执行任意命令


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-02   浏览: 55 ::
收藏到网摘: n/a

涉及程序:
Solaris and Windows NT

描述:
Sun Java Web Server 能让攻击者远程执行任意命令

详细:
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服务器权限执行命令。


以下代码仅仅用来测试和研究这个漏洞,如果您将其用于不正当的途径请后果自负


使用下面的JSP 代码将打印出"Hello World":
% String s="Hello World"; %>
<%=s %>
在留言版中提交:
http://jws.site:9090/examples/applications/bboard/bboard_frames.html
然后通过 http://jws.site:9090/board.html 确认已经提交。
在下面编译并执行代码:
http://jws.site:9090/servlet/com.sun.server.http.pagecompile


解决方案:
下载并安装补丁:
http://java.sun.com/products/java-server/jws113patch3.html
http://java.sun.com/products/java-server/jws20patch3.html


附加信息:
Saumil Shah ([email protected])
Shreeraj Shah ([email protected])
Stuart McClure ([email protected])
Foundstone, Inc. (http://www.foundstone.com)

相关站点:
http://www.foundstone.com