JSP脚本漏洞面面观

服务器漏洞是安全问题的起源,黑客对网站的攻击也大多是从查找对方的漏洞开始的。所以只有了解自身的漏洞,网站管理人员才能采取相应的对策,阻止外来的攻击。下面介绍一下一些服务器(包括Web服务器和JSP服务器)的常见漏洞。

  Apache泄露重写的任意文件漏洞是怎么回事?

  在Apache1.2以及以后的版本中存在一个mod_rewrite模块,它用来指定特殊URLS在网络服务器文件系统上所映射的绝对路径。如果传送一个包含正确表达参数的重写规则,攻击者就可以查看目标主机上的任意文件。

  下面举例说明重写规则指令(其中第一行只有是包含漏洞的):

  RewriteRule /test/(.*) /usr/local/data/test-stuff/$1

  RewriteRule /more-icons/(.*) /icons/$1

  RewriteRule /go/(.*) http://www.apacheweek.com/$1

  受影响的系统:

  1)Apache 1.3.12

  2)Apache 1.3.11win32

  3)Apache 1.2.x

  不受影响系统:Apache 1.3.13

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

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

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

.

  %2E

  +

  %2B

  \

  %5C

  %20

  %00

  成功的利用该漏洞将导致泄露指定的JSP文件的源代码,例如:使用下面的任意一个URL请求将输出指定的JSP文件的源代码:

  1)http://target/directory/jsp/file.jsp.

  2)http://target/directory/jsp/file.jsp%2E

  3)http://target/directory/jsp/file.jsp+

  4)http://target/directory/jsp/file.jsp%2B

  5)http://target/directory/jsp/file.jsp\

  6)http://target/directory/jsp/file.jsp%5C

  7)http://target/directory/jsp/file.jsp%20

  8)http://target/directory/jsp/file.jsp%00

  受影响的系统:

  1)Unify eWave ServletExec 3.0c

  2)Sun Solaris 8.0

  3)Microsoft Windows 98

  4)Microsoft Windows NT 4.0

  5)Microsoft Windows NT 2000

  6)Linux kernel 2.3.x

  7)IBM AIX 4.3.2

  8)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被转换成一个空格字符。

  Tomcat有哪些漏洞?

  Tomcat 3.1 存在暴露网站路径问题

  Tomcat 3.1 是在 Apache 软件环境下开发的一个支持 JSP 1.1 和 Servlets 2.2 的软件。它存在一个安全问题当发送一个不存在的 jsp 请求时会暴露网站上网页的全路径。

  举例:

  http://narco.guerrilla.sucks.co:8080/anything.jsp

  结果显示:

Error: 404

Location: /anything.jsp

JSP file "/appsrv2/jakarta-tomcat/webapps/ROOT/anything.jsp" not found

  解决方案:升级到新版本

  Tomcat 暴露JSP文件内容

  Java Server Pages (JSP)类型的文件是以'.jsp'扩展名在Tomcat 上注册,Tomcat 是文件名大小写敏感的,'.jsp'和'.JSP'是不同类型的文件扩展名。如果提交有'.JSP'的链接给Tomcat,而Tomcat找不到'.JSP'就会以默认的'.text'文件类型来响应请求。因为在NT系统中大小写文件名是非敏感的,所以被请求的文件会以文本的形式送出。

  如果在UNIX服务器上会出现"file not found"的错误信息。

  如何在windows下对Tomcat实施代码保护

  Tomcat的一些版本有泄露源代码的漏洞,如果在浏览器中调用JSP页面时将该文件的后缀改成大写,这个JSP文件的源代码将完全输出到浏览器中(也许浏览器窗口中什么都没有,这时你只需查看HTML源文件就可以发现)。如此一来,网站的源代码是不是都会暴露在互联网上那?

  不用担心,解决方法很简单,把各种后缀的组合全部写到Tomcat_Home\conf \web.xml里就可以了,这样Tomcat会将不同后缀名的JSP分开对待,就不会泄露代码了。

    jsp

    *.jsp

    jsP

    *.jsP

   ?lt;servlet-name>jSp

    *.jSp

    jSP

    *.jSP

    Jsp

    *.Jsp

    JsP

    *.JsP

    JSp

    *.JSp

    JSP

    *.JSP

  Allair Jrun漏洞有哪些漏洞?

  Allair JRUN 非法读取 WEB-INF 漏洞

  在Allaire 的 JRUN 服务器 2.3版本中存在一个严重的安全漏洞。它允许一个攻击者在 JRun 3.0 服务器中查看 WEB-INF 目录。

  如果用户在提交 URL 请求时在,通过附加一个"/"使该 URL 成为畸形的 URL,这时 WEB-INF 下的所有子目录将会暴露出来。攻击者巧妙的利用该漏洞将能够远程获得目标主机系统中 WEB-INF 目录下的所有文件的读取权限。

  例如使用下面这个 URL 将会暴露 WEB-INF 下的所有文件:

http://site.running.jrun:8100//WEB-INF/

  受影响的系统:Allaire JRun 3.0

  解决方案:下载并安装补丁:

Allaire patch jr233p_ASB00_28_29

http://download.allaire.com/jrun/jr233p_ASB00_28_29.zip

Windows 95/98/NT/2000 and Windows NT Alpha

Allaire patch jr233p_ASB00_28_29tar

http://download.allaire.com/jrun/jr233p_ASB00_28_29.tar.gz

UNIX/Linux patch - GNU gzip/tar

  Allaire JRUN 2.3 查看任意文件漏洞

  Allaire 的 JRUN 服务器 2.3上存在多重显示代码漏洞。该漏洞允许攻击者在 WEB 服务器上查看根目录下的任意文件的源代码。

  JRun 2.3 使用 Java Servlets 解析各种各样类型的页面(例如:HTML, JSP等等)。基于rules.properties 和 servlets.properties 的文件设置,可能利用URL前缀"/servlet/"调用任何servlet。

  它可能使用 Jrun 的 SSIFilter servlet 在目标系统上检索任意的文件。下列 2 个例子显示出能被用来检索任意的文件的 URLs :

http://jrun:8000/servlet/com.livesoftware.jrun.plugins.ssi.SSIFilter/../../t est.jsp

http://jrun:8000/servlet/com.livesoftware.jrun.plugins.ssi.SSIFilter/../../../../../../../boot.ini

http://jrun:8000/servlet/com.livesoftware.jrun.plugins.ssi.SSIFilter/../../. ./../../../../winnt/repair/sam

http://jrun:8000/servlet/ssifilter/../../test.jsp

http://jrun:8000/servlet/ssifilter/../../../../../../../boot.ini

http://jrun:8000/servlet/ssifilter/../../../../../../../winnt/repair/sam._

  注意:假设JRun在主机" jrun "上运行,端口8000。

  受影响的系统:Allaire JRun 2.3.x

  解决方案:下载并安装补丁:

Allaire patch jr233p_ASB00_28_29

http://download.allaire.com/jrun/jr233p_ASB00_28_29.zip

Windows 95/98/NT/2000 and Windows NT Alpha

Allaire patch jr233p_ASB00_28_29tar

http://download.allaire.com/jrun/jr233p_ASB00_28_29.tar.gz

UNIX/Linux patch - GNU gzip/tar

  Allaire JRUN 2.3远程执行任意命令漏洞

  Allaire 的 JRUN 服务器 2.3上存在一个安全漏洞,允许远程用户把在 WEB 服务器上的任意文件作为JSP代码编译/执行。   如果URL请求的目标文件使用了前缀"/servlet/",则JSP解释执行功能被激活。这时在用户请求的目标文件路径中使用"../",就有可能访问到 WEB 服务器上根目录以外的文件。在目标主机上利用该漏洞请求用户输入产生的一个文件,将严重威胁到目标主机系统的安全。

(0)

相关推荐

  • JSP脚本漏洞面面观

    服务器漏洞是安全问题的起源,黑客对网站的攻击也大多是从查找对方的漏洞开始的.所以只有了解自身的漏洞,网站管理人员才能采取相应的对策,阻止外来的攻击.下面介绍一下一些服务器(包括Web服务器和JSP服务器)的常见漏洞. Apache泄露重写的任意文件漏洞是怎么回事? 在Apache1.2以及以后的版本中存在一个mod_rewrite模块,它用来指定特殊URLS在网络服务器文件系统上所映射的绝对路径.如果传送一个包含正确表达参数的重写规则,攻击者就可以查看目标主机上的任意文件. 下面举例说明重写规则

  • JSP脚本元素和注释复习总结示例

    今天复习了JSP脚本元素和注释部分,案例写出来,大家自己调试下,整体总结如下, 1.JSP申明语句: <%! 申明语句 %> 使用申明语句的变量为全局变量,多个用户执行此JSP页面,将共享该变量. 如: 复制代码 代码如下: <html> <head> <title>JSP Demo</title> </head> <body> <%! int a = 1 ;%> <% out.println("

  • PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍

    漏洞很久之前(大概5年前)被提出来了,但并不是php代码上的问题,所以问题一直存在,直到现在.我一直没留意,后来yaseng告诉我的,他测试了好像5.5都可以. 漏洞详情在这里 http://cxsecurity.com/issue/WLB-2009110068. 给出我写的EXP: 复制代码 代码如下: <?php /* * by phithon * From http://www.jb51.net * detail: http://cxsecurity.com/issue/WLB-20091

  • JSP简明教程:令人兴奋的脚本编程

    如果你是直接使用Java servlets,那你将不得不在Java类中处理HTTP输入和HTML输出,你需要丰富的Java编程经验来构建复杂的应用程序.JSP的加入,使你可以把HTML的表达逻辑从植入servlets中的复杂的商务逻辑区分开来.这意味着可以由有经验的脚本编写者来编写表达层代码,而高级的Java开发者能够集中精力去解决servlets和bean中更为复杂的问题. 不管你有没有Java编程知识,都能够使用JSP.JSP包含了一些服务器端的标签,使得不用写一行Java代码就能显示动态数

  • JSP应用的安全问题

    一.概述  当网络编程越来越方便,系统功能越来越强大,安全性却指数倍地下降.这恐怕就是网络编程的不幸和悲哀了.各种动态内容生成环境繁荣了WWW,它们的设计目标就是为了给开发者更多的力量,给最终用户更多的方便.正因为如此,系统设计师和开发者必须明确地把安全问题作为一个考虑因素,事后追悔很难奏效.  从安全的角度来看,服务器端WWW应用的弱点来源于各种各样的交互能力和传输通道.它们是攻击者直接可以用来影响系统的工具.在攻击者寻找和利用系统安全漏洞时,它们总是给系统安全带来压力.对付所有这些攻击的通用

  • 常用网页编辑器漏洞手册(全面版)fckeditor,ewebeditor

    FCKeditor FCKeditor编辑器页/查看编辑器版本/查看文件上传路径 FCKeditor编辑器页 FCKeditor/_samples/default.html 查看编辑器版本 FCKeditor/_whatsnew.html 查看文件上传路径 fckeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles&Type=Image&Curren

  • JSP EL表达式详细介绍

    一.JSP EL语言定义 E L(Expression Language)  目的:为了使JSP写起来更加简单. 表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法.它是一种简单的语言,基于可用的命名空间(PageContext 属性).嵌套属性和对集合.操作符(算术型.关系型和逻辑型)的访问符.映射到 Java 类中静态方法的可扩展函数以及一组隐式对象.       EL 提供了在 JSP 脚本编制元素范围外使用运行时表达式的功能.

  • 2004年十大网络安全漏洞

    国际安全组织新发布:2004年十大网络应用漏洞    IT安全专业人士的开放网络应用安全计划组织(OWASP)发布的第二份年度十大网络应用安全薄弱环节列表中,增加了"拒绝提供服务"类型的隐患,因为在去年该类型的隐患已屡见不鲜.OWASP的主席兼"奠基石"(一家提供战略安全服务的公司)顾问会主任柯费·马克称:"我们预测:本年度,主要的电子商务网站将遭到拒绝提供服务的攻击,因为黑客已经对众多的用户密码感到厌烦."比如:当一名掌握着大量电子邮件帐号的黑

  • 浅谈ASP数据库下载漏洞

    作为脚本漏洞的头号杀手锏--数据库下载漏洞,现在已经被越来越多的人所熟知.在这个信息化技术更新飞快的时代,漏洞产生后随之而来的就是各种应对 的招数,比如改数据库的后缀.修改数据库的名字等等.很多人以为只要这么做就可以解决问题了,但事实往往不如你我所愿,即使你这么做了也难逃被高手攻击的 命运.为此我们有必要去了解一些攻击的手法,来增强自己的安全技能. 1.强制下载后缀名为ASP.ASA的数据库文件 大多数的网管为了节省时间,网站上的文章系统.论坛等程序都是直接下载别人的源程序再经过部分修改后使用的

  • 十三、JSP动作

    JSP动作利用XML语法格式的标记来控制Servlet引擎的行为.利用JSP动作可以动态地插入文件.重用JavaBean组件.把用户重定向到另外的页面.为Java插件生成HTML代码. JSP动作包括: jsp:include:在页面被请求的时候引入一个文件. jsp:useBean:寻找或者实例化一个JavaBean. jsp:setProperty:设置JavaBean的属性. jsp:getProperty:输出某个JavaBean的属性. jsp:forward:把请求转到一个新的页面.

随机推荐