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

2016-01-29 12:47 62 1 收藏

在HTTP请求中添加特殊字符导致暴露JSP源代码文件,在HTTP请求中添加特殊字符导致暴露JSP源代码文件

【 tulaoshi.com - Java 】

涉及程序:
ServletExec

描述:
在HTTP请求中添加特殊字符导致暴露JSP源代码文件

详细:
Unify eWave ServletExec 是一个 Java/Java Servlet 引擎插件,主要用于 WEB 服务器,例如:Microsoft IIS, Apache, Netscape Enterprise 服务器等等。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/java/)

当一个 HTTP 请求中添加下列字符之一,ServletExec 将返回 JSP 源代码文件。
.
%2E
+
%2B

%5C
%20
%00

成功的利用该漏洞将导致泄露指定的JSP文件的源代码

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/java/)

例如:
使用下面的任意一个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被转换成一个空格字符。

来源:http://www.tulaoshi.com/n/20160129/1487567.html

延伸阅读
标签: Java JAVA基础
使用PrintWriter对象即可写Text文件。 请参考以下示例: <%@ page import="java.io.*" % <% String str = "print me"; //always give the path from root. This way it almost always works. String nameOfTextFile = "/usr/anil/imp.txt"; try { PrintWriter pw = new PrintWriter(new FileOutputSt...
标签: Java JAVA基础
软件介绍: Apusic Application Server1.0是Apusic公司开发出的中国第一个完整支持J2EE(Java 2 Platform, Enterprise Edition)的产品。Apusic采用纯Java语言编写,支持EJB1.1,Servlet,JSP,JMS等,支持多种平台。 漏洞描述: Jsp爱好者网站(http://jspbbs.yeah.net)在试用apusic server1.0产品中发现了一个可以泄漏jsp源代码的漏洞。 适用...
手工发送HTTP请求主要是调用System.Net的HttpWebResponse方法手工发送HTTP的GET请求: string strURL = "http://localhost/Play/CH1/Service1.asmx/doSearch?keyword="; strURL +=this.textBox1.Text; System.Net.HttpWebRequest request; //创建一个HTTP请求 request = (System.Net.HttpWebRequest)WebRequest.Create(strURL); //re...
标签: autocad教程
朋友叫我帮忙用Autocad画一个零件的模型,并在图纸底部有相应的文字说明。这些文字中有一些是特殊的字符,如版权符号。 因为Autocad是基于Windows图形界面操作系统的。故我们可利用所见即所用的原则,利用在字处理软件(如Office Word或WPS office)中先输入这些特殊字符,然后再复制并粘贴到Autocad的编辑界面中。 不过这种...
标签: Java JAVA基础
涉及程序: IBM WebSphere Application Server 3.0.2 描述: IBM WebSphere Application Server 3.0.2 存在暴露源代码漏洞 详细: IBM WebSphere Application Server 允许攻击者查看 Web server 根目录以上的所有文件。IBM WebSphere 使用 Java Servlets 处理多种页面类型的分析(如 HTML, JSP, JHTML, 等等)。In addition 不同的 servle...

经验教程

808

收藏

69
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部

如果您有什么好的建议或者疑问,可以联系我们。 商务合作QQ:3272218541;3282258740。商务合作微信:13319608704;13319603564。

加好友请备注机构名称。让我们一起学习、一起进步tulaoshi.com 版权所有 © 2019 All Rights Reserved. 湘ICP备19009391号-3

微信公众号