受影响系统:
Apache Software Foundation Tomcat 4.1.10
Apache Software Foundation Tomcat 4.0.4
描述:
--------------------------------------------------------------------------------
Apache Tomcat是一款由Apache Foundation维护的免费开放源代码的Java Servlet和JSP服务程序。
Apache Tomcat对用户提交的访问请求处理不正确,远程攻击者可以利用这个漏洞获得JSP脚本文件的源代码信息。
通过使用默认的servlet:org.apache.catalina.servlets.DefaultServlet请求,可导致泄露相关JSP脚本文件的源代码。如一般合法的URL为http://my.site/login.jsp,这样类似如下的直接servlet请求:
http://my.site/servlet/org.apache.catalina.servlets.DefaultServlet/login.jsp
可导致login.jsp源代码返回给客户端,造成敏感信息泄露。
<*来源:Rossen Raykov (Rossen.Raykov_at_CognicaseUSA.com)
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=103289907301416&w=2
*>
测试方法:
--------------------------------------------------------------------------------
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
Rossen Raykov (Rossen.Raykov_at_CognicaseUSA.com)提供了如下测试方法:
http://{server}[:port]/[Context/]org.apache.catalina.servlets.DefaultServlet
/[context_relative_path/]file_name.jsp
如http://localhost:8080/admin/index.jsp的URL,可提交如下请求获得源代码:
http://localhost:8080/admin/servlet/org.apache.catalina.servlets.DefaultServ
let/index.jsp
建议:
--------------------------------------------------------------------------------
临时解决方法:
如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:
* 如果你采用Tomcat和HTTP服务前后端方式:
1,如果你使用前端HTTP服务方式,你可以过滤所有包含如下内容的请求:
*/servlet/org.apache.catalina.servlets.DefaultServlet*
2,如果使用mod_jk方式连接tomcat到前端服务器,根据JkMount指示映射Tomcat只接收部分URL请求。
* 如果使用Standalone方式,在web.xml中增加如下代码进行保护:
<security-constraint>
<display-name>Default Servlet</display-name>
<!-- Disable direct alls on the Default Servlet</web-resource-name -->
<web-resource-collection>
<web-resource-name>Disallowed Location</web-resource-name>
<url-pattern>/servlet/org.apache.catalina.servlets.DefaultServlet/*</url-pat
tern>
<http-method>DELETE</http-method>
<http-method>GET</http-method>
<http-method>POST</http-method>
<http-method>PUT</http-method>
</web-resource-collection>
<auth-constraint>
<role-name></role-name>
</auth-constraint>
</security-constraint>
厂商补丁:
Apache Software Foundation
--------------------------
升级到最新的版本releases 4.0.5 and 4.1.12 :
http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/