Apache Tomcat表单认证用户名枚举漏洞
发布日期:2009-06-03 更新日期:2009-06-04 受影响系统: Apache Group Tomcat 6.0.x Apache Group Tomcat 5.5.x Apache Group Tomcat 4.1.x 不受影响系统: Apache Group Tomcat 6.0.20 Apache Group Tomcat 5.5.28 Apache Group Tomcat 4.1.40 Apache Tomcat是一个流行的开放源码的JSP应用服务器程序。 由于某些认证类中的不充分错误检查,如果远程***者向Tomcat服务器提交了非法URL编码的口令就可能通过返回判断是否存在所请求的用户名。如果基于表单的认证(j_security_check)使用了任意以下认证域就可以执行这种***: * MemoryRealm * DataSourceRealm * JDBCRealm 测试方法: 警 告 以下程序(方法)可能带有***性,仅供安全研究与教学之用。使用者风险自负! POST /j_security_check HTTP/1.1 Host: localhost j_username=tomcat&j_password=% 建议: 厂商补丁: Apache Group ------------ 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: http://svn.apache.org/viewvc?rev=747840&view=rev http://svn.apache.org/viewvc?rev=781379&view=rev http://svn.apache.org/viewvc?rev=781382&view=rev Apache Tomcat RemoteFilterValve绕过安全限制漏洞 受影响系统: Apache Tomcat 5.5.0 Apache Tomcat 4.1.0 - 4.1.31 不受影响系统: Apache Tomcat 5.5.1 Apache Tomcat 4.1.32 Apache Tomcat在检查IP地址时存在同步问题,在极少的环境下,这可能允许非允许的IP地址绕过RemoteFilterValve过滤器值并访问受保护的内容。仅在使用调试器在两个线程之间强制特定的处理序列的情况下才可以利用这个漏洞。 建议:厂商补丁: Apache ------ 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: http://jakarta.apache.org/tomcat/index.html 问题 远端HTTP服务器类型和版本信息泄漏 解 决 办 法 ㈠apache版本信息泄漏解决方法: 在配置文件Apache2.2/conf/httpd.conf中加入 ServerTokens Prod[uctOnly](等级[Prod,Major, Minor, Min, OS]) ServerSignature Off 重启 apache 现在 http 头里面只看到: Server: Apache[/2, /2.0, /2.0.41, /2.0.41 (Unix)] ㈡服务器类型泄漏解决办法: Tomcat: ①方法一:修改ServerInfo.properties里的版本信息 Tomcat4\5:tomcat_home \server\lib\catalina.jar org\apache\catalina\util\ServerInfo.properties Tomcat6:tomcat_home \lib\catalina.jar org\apache\catalina\util\ServerInfo.properties 操作:用WinRAR打开catalina.jar 找到ServerInfo.properties 解压并修改 再拖入即可。 ②方法二:使用WEB容器捕获异常进行处理 在web.xml文件头部加上: <error-page> <exception-type>java.lang.Exception</exception-type><location>/system_error.jsp</location> </error-page> <error-page> <error-code>404</error-code><location>/system_error.jsp</location> </error-page> <error-page> <error-code>400</error-code><location>/system_error.jsp</location> </error-page><error-page><error-code>500</error-code><location>/system_error.jsp</location> </error-page> 问题 ① Apache MPM worker.c 远程拒绝服务漏洞。 Apache 2的worker模块在处理中止的TCP连接时存在内存泄漏,远程***者可以反复触发这种情况耗尽所有可用的内存,最终导致拒绝服务。 ② Apache.htaccess本地PCRE整数溢出权限提升漏洞。 PCRE在处理字符类时存在缓冲区溢出漏洞,如果用户发送了codepoint大于255的超长UTF-8字符类的话,就可能触发这个溢出,导致执行任意指令。 ③ Apache mod_p_w_picpathmap和mod_imap模块跨站脚本漏洞。 Apache的mod_p_w_picpathmap和mod_imap模块中没有正确地过滤某些用户输入,允许远程***者提交恶意的HTTP请求执行跨站脚本***。 ④ Apache mod_rewrite模块单字节缓冲区溢出漏洞。 Apache的mod_rewrite模块在转义绝对URI主题时存在单字节缓冲区溢出漏洞,***者可能利用此漏洞在服务器上执行任意指令。 mod_rewrite模块的escape_absolute_uri()函数分离LDAP URL中的令牌时,会导致在字符指针数组以外写入指向用户控制数据的指针,这样就可能完全控制受影响的主机。 解决办法 这些问题都是由于Apache 自身的缺陷引起的。 解决方法: ① 打apache补丁可解决 ② 升级apache到最新版本。 建议最好用升级apache到最新版本。 Apache Tomcat WebDav远程信息泄露漏洞 如果将Apache Tomcat的WebDAV servlet配置为同上下文使用且允许写访问的话,则远程***者可以通过提交指定了SYSTEM标签的WebDAV请求导致泄露任意文件的内容。 建议: 厂商补丁: Apache Group ------------ 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: http://jakarta.apache.org/tomcat/index.html受影响系统: Apache Group Tomcat 6.0.0 - 6.0.14 Apache Group Tomcat 5.5.0 - 5.5.25 Apache Group Tomcat 5.0.0 - 5.0.SVN Apache Group Tomcat 4.1.0 - 4.1.SVN Apache Group Tomcat 4.0.0 - 4.0.6 Apache Tomcat XML解析器非授权文件读写漏洞 Apache Tomcat允许Web应用替换其他Web应用所使用的XML解析器。如果特制的应用早于目标应用加载的话,本地用户就可以读取或修改任意Web应用的web.xml、context.xml或tld文件。 建议: -------------------------------------------------------------------------------- 厂商补丁: Apache Group ------------ 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: http://svn.apache.org/viewvc?rev=739522&view=rev http://svn.apache.org/viewvc?rev=652592&view=rev http://svn.apache.org/viewvc?rev=781542&view=rev http://svn.apache.org/viewvc?rev=681156&view=rev http://svn.apache.org/viewvc?rev=781708&view=rev Apache Tomcat RequestDispatcher信息泄露漏洞 Tomcat在使用RequestDispatcher时删除查询字符串之前会规则化目标路径,远程***者可以通过向Apache Tomcat服务器提交包含有特制请求参数的请求访问访问受限制的内容,或在WEB-INF目录下锁定受限制的内容。 建议:厂商补丁: Apache Group ------------ 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: http://mirror.atlanticmetro.net/apach ... ache-tomcat-6.0.18.tar.gz Apache Tomcat JSP示例Web应用跨站脚本执行漏洞 Apache Tomcat的示例Web应用程序中的某些JSP文件没有转义某些用户输入,允许远程***者通过包含有“;”字符的特制URI请求执行跨站脚本***,向用户浏览器会话注入并执行任意Web脚本或HTML代码。 厂商补丁: Apache Group ------------ 厂商发布了升级补丁以修复这个安全问题,请到厂商的主页下载: http://jakarta.apache.org/tomcat/index.html Apache Tomcat Java AJP连接器无效头拒绝服务漏洞 如果Tomcat通过Java AJP连接器接收到了带有无效头的请求,就会关闭AJP连接器而不是返回错误。在这个连接器是mod_jk负载均衡worker成员的情况下,这个成员就会进入出错状态,在大约一分钟的时间内无法使用。 以下程序(方法)可能带有***性,仅供安全研究与教学之用。使用者风险自负! GET /servlets-examples/ HTTP/1.1 Host: localhost:x 建议: -------------------------------------------------------------------------------- 厂商补丁: Apache Group ------------ 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: http://svn.apache.org/viewvc?rev=742915&view=rev http://svn.apache.org/viewvc?rev=781362&view=rev http://svn.apache.org/viewvc?rev=781362&view=rev Apache Tomcat Manager和Host Manage跨站脚本执行漏洞 Apache Tomcat的某些应用存在输入验证漏洞,远程***者可能利用此漏洞执行跨站脚本执行***。 Apache Tomcat的Manager和Host Manager Web应用没有对表单字段参数的输入进行转义,允许通过认证的***者通过manager/html/upload的参数名注入任意Web脚本或HTML,执行跨站脚本***。 http://secunia.com/advisories/25678/ http://marc.info/?l=bugtraq&m=118183929815125&w=2 http://tomcat.apache.org/security-4.html http://tomcat.apache.org/security-5.html http://tomcat.apache.org/security-6.html 受影响系统: Apache Group Tomcat 6.0.0 - 6.0.13 Apache Group Tomcat 5.5.0 - 5.5.24 Apache Group Tomcat 5.0.0 - 5.0.30 Apache Group Tomcat 4.1.0 - 4.1.36 Apache Group Tomcat 4.0.0 - 4.0.6 解决方案: 临时解决方法: * 完成管理任务后立即注销Manager或Host Manager应用(关闭浏览器): alert()" Content-Type: p_w_picpath/gif' VALUE="abc"> 厂商补丁: Apache Group ------------ 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: http://jakarta.apache.org/tomcat/index.html