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

JSP
如何用Jsp读取Mysql数据库
打开页面就是全屏的方法
如何在Jsp中使用JDBC来联结MySql
在linux上建jsp環境
如何使用JSP访问MySQL数据库
JSP数据库操作例程(Use Bean)
如何使用JSP+MySQL创建留言本(一)
如何使用JSP+MySQL创建留言本(二)
如何使用JSP连接DB2数据库
用js绘图
如何使用JSP+MySQL创建留言本(三)
JDBC 入门(三)
JDBC 入门(二)
JDBC 入门(一)
在jsp中发送email
让你的IIS服务器支持JSP
用JSP编写文件上传
获取jsp各种参数
用JSP/ASP创建WAP应用
jsp实现购物程序

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-02   浏览: 62 ::
收藏到网摘: 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