当前页面位置: » 丰搜网 » 文档中心 » 详细内容
jsp漏洞大观
综述:服务器漏洞是安全问题的起源,黑客对网站的攻击也大多是从查找对方的漏洞开始的。所以只有了解自身的漏洞,网站管理人员才能采取相应的对策,阻止外来的攻击。下面介绍一下一些服务器(包括web服务器和javascript/" target="_blank">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请求中添加特殊字符导致暴露javascript/" target="_blank">jsp源代码文件?
unify ewave servletexec 是一个 java/java servlet 引擎插件,主要用于 web 服务器,例如:microsoft iis, apache,.netscape enterprise 服务器等等。
当一个 http 请求中添加下列字符之一,servletexec 将返回 javascript/" target="_blank">jsp 源代码文件。
.
成功的利用该漏洞将导致泄露指定的
javascript/" target="_blank">
jsp文件的源代码,例如:使用下面的任意一个url请求将输出指定的
javascript/" target="_blank">
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 软件环境下开发的一个支持
javascript/" target="_blank">
jsp 1.1 和
servlets 2.2 的软件。它存在一个
安全问题当发送一个不存在的
jsp 请求时会暴露网站上网页的全路径。
举例:
http://narco.guerrilla.sucks.co:8080/anything.
jsp 结果显示:
error: 404
location: /anything.
jsp javascript/" target="_blank">
jsp file "/appsrv2/jakarta-
tomcat/
webapps/root/anything.
jsp" not found
解决方案:升级到新版本
tomcat 暴露
javascript/" target="_blank">
jsp文件内容
java server pages (
javascript/" target="_blank">
jsp)类型的文件是以'.
jsp'扩展名在
tomcat 上注册,
tomcat 是文件名大小写敏感的,'.
jsp'和'.
javascript/" target="_blank">
jsp'是不同类型的文件扩展名。如果提交有'.
javascript/" target="_blank">
jsp'的链接给
tomcat,而
tomcat找不到'.
javascript/" target="_blank">
jsp'就会以默认的'.text'文件类型来响应请求。因为在nt系统中大小写文件名是非敏感的,所以被请求的文件会以文本的形式送出。
如果在
unix服务器上会出现"file not found"的错误信息。
如何在windows下对
tomcat实施代码保护
tomcat的一些版本有泄露源代码的漏洞,如果在浏览器中调用
javascript/" target="_blank">
jsp页面时将该文件的后缀改成大写,这个
javascript/" target="_blank">
jsp文件的源代码将完全输出到浏览器中(也许浏览器窗口中什么都没有,这时你只需查看
html源文件就可以发现)。如此一来,网站的源代码是不是都会暴露在互联网上那?
不用担心,解决方法很简单,把各种后缀的组合全部写到
tomcat_home\conf \
web.
xml里就可以了,这样
tomcat会将不同后缀名的
javascript/" target="_blank">
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,
javascript/" target="_blank">
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 服务器上的任意文件作为
javascript/" target="_blank">
jsp代码编译/执行。 如果url请求的目标文件使用了前缀"/
servlet/",则
javascript/" target="_blank">
jsp解释执行功能被激活。这时在用户请求的目标文件路径中使用"../",就有可能访问到
web 服务器上根目录以外的文件。在目标主机上利用该漏洞请求用户输入产生的一个文件,将严重威胁到目标主机系统的
安全。
例如:
http://jrun:8000/
servlet/com.livesoftware.jrun.plugins.
jsp.
javascript/" target="_blank">
jsp/../../path/to /temp.txt
http://jrun:8000/
servlet/
jsp/../../path/to/temp.txt
受影响的系统: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 |
jrun 2.3.x 范例文件暴露站点
安全信息
jrun 2.3.x 在 jrun_home/
servlets 目录下有一些
servlet 范例文件,这个目录是 jrun 2.3.x 用于加载和执行
servlets 文件。所有扩展名为 ".
java" 或 "class" 的文件必须被删除,这是因为这些文件会暴露站点的
安全信息。例如:
http://www.xxx.xxx/
servlet/session
servlet 会暴露当前
服务器保持的http连接信息。jrun_home/
jsm-default/services/jws/htdocs 目录下的内容也应被删除掉。这个目录保存有演示
服务器功能的 '.
jsp' 文件,其中一些文件牵涉到访问
服务器文件系统和暴露
服务器设置的问题。例如对文件 "viewsource.
jsp" 的路径检查是默认关闭的,它可被用于访问
服务器文件系统。
解决方案:
1)安装 2.3.3 service pack
2)从
服务器上删除所有的说明文档、演示编码、范例和教材,包括安装 jrun 2.3.x 时存放于 jrun_home/
servlets 目录和jrun_home/
jsm-default/services/jws/htdocs 目录里的文档。
相关站点:http://www.allaire.com/
ibm
websphere application server有哪些漏洞?
1、ibm
websphere application server 3.0.2 存在暴露源代码漏洞
ibm
websphere application server 允许攻击者查看
web server 根目录以上的所有文件。ibm
websphere 使用
java servlets 处理多种页面类型的分析(如
html,
javascript/" target="_blank">
jsp, j
html, 等等)。in addition 不同的
servlets 对不同的页面进行处理,如果一个请求的文件是未进行注册管理的,
websphere 会使用一个默认的
servlet 作调用。如果文件路径以"/
servlet/file/"作开头这个默认的
servlet 会被调用这个请求的文件会未被分析或编译就显示出来。
受影响系统:ibm
websphere 3.0.2 的所有版本
举例:
如果一个请求文件的 url 为 "login.
jsp":: http://site.running.
websphere/login.
jsp那么访问 http://site.running.
websphere/
servlet/file/login.
jsp将看到这个文件的源代码。
解决方案:下载并安装补丁
http://www-4.ibm.com/software/
webservers/appserv/efix.
html 相关站点:http://www-4.ibm.com/software/
webservers/appserv/
ibm
websphere application server 暴露
javascript/" target="_blank">
jsp文件内容
java server pages (
javascript/" target="_blank">
jsp)类型的文件是以'.
jsp'扩展名在
websphere application serve 上注册,
websphere 是文件名大小写敏感的,'.
jsp'和'.
javascript/" target="_blank">
jsp'是不同类型的文件扩展名。如果提交有'.
javascript/" target="_blank">
jsp'的链接给
websphere,而
websphere找不到'.
javascript/" target="_blank">
jsp'就会以默认的'.text'文件类型来响应请求。因为在nt系统中大小写文件名是非敏感的,所以被请求的文件会以文本的形式送出。
如果在
unix服务器上会出现"file not found"的错误信息。
解决方案:点击此处下载补丁
相关站点:http://www-4.ibm.com/software/
webservers/appserv/efix.
html bea
weblogic有哪些暴露源代码漏洞?
受影响版本:
所有系统上的
这个漏洞使攻击者能读取
web 目录下所有文件的源代码。
weblogic 依赖四个主要
java servlets to 服务不同类型的文件。这些
servlets 是:
1)file
servlet - for 简单
html 页面
2)ssi
servlet - for server side includes 页面
3)pagecompile
servlet - for j
html 页面
4)
javascript/" target="_blank">
jspservlet - for
java server 页面
看着
weblogic.properties 文件, 这儿是各个
servlets 的注册值:
1)
weblogic.httpd.register.file=
weblogic.
servlet.file
servlet 2)
weblogic.httpd.register.*.s
html=
weblogic.
servlet.serversideinclude
servlet 3)
weblogic.httpd.register.*.j
html=
weblogic.
servlet.j
htmlc.pagecompile
servlet 4)
weblogic.httpd.register.*.
jsp=
weblogic.
servlet.
javascript/" target="_blank">
jspservlet 更多的
weblogic.properties 文件, 如果一个请求文件是没有注册管理的,那么就会调用一个默认的
servlet 。以下是展示默认的
servlet 是如何注册的。
# default servlet registration # ------------------------------------------------ # virtual name of the default servlet if no matching servlet # is found weblogic.httpd.defaultservlet=file |
因此如果 url 中的文件路径开头为 "/file/" , 将会引致
weblogic 调用默认的
servlet, 那将会使网页未加分析和编译而直接显示。
论证:
只要在想看的文件原来的 url 路径之前加入 "/file/" 就会让文件未经分析和编译,直接暴露源代码。如:http://site.running.
weblogic/login.
jsp ,那么只要访问 http://site.running.
weblogic/file/login.
jsp 就会在
web 浏览器里看到文件的内容。
以下是使用方法:
1. 通过强制使用 ssi
servlet 查看未分析的页面 :
服务器站点通过
weblogic 中的 ssi
servlet 处理页面,它在
weblogic.properties 文件中注册以下信息:
weblogic.httpd.register.*.s
html=
weblogic.
servlet.serversideinclude
servlet 通过 url 使用 ssi
servlet 自动处理通配符 (*) 。因此 如果文件路径开头为 /*.s
html/,将强制文件由 ssi
servlet 处理。如果使用其它文件类型如 .
jsp 和 .j
html, 就能查看未分析的
jsp 和 j
html 代码。举例:http://www.xxx.com/*.s
html/login.
jsp 2. 通过强制使用 file
servlet 查看未分析的页面 :
weblogic 使用 file
servlet 配置 consolehelp
servlet ,在
weblogic.properties 文件的以下内容可得知:
因此如果文件路径以 /consolehelp/ 开头将导致
weblogic 使用 file
servlet,使未分析或编译的文件作页面显示出来,举例:http://www.xxx.com/consolehelp/login.
jsp 解决方案:
不要使用示例中的设置方法设置 file
servlet 。这可能会让你的
javascript/" target="_blank">
jsp/j
html 文件的源代码暴露出来。请查看在线文档:
http://www.
weblogic.com/docs51/admindocs/http.
html#file
示例的 registrations 如下:
weblogic.httpd.register.file=
weblogic.
servlet.file
servlet weblogic.httpd.initargs.file=defaultfilename=index.
html weblogic.httpd.default
servlet=file
有两种方法可以避免这个问题:
(1)注册那些文件
servlet 使用随机用户名,加大猜测难度。例如使用象这样注册文件
servlet 为 12foo34:
weblogic.httpd.register.12foo34=
weblogic.
servlet.file
servlet weblogic.httpd.initargs.12foo34=defaultfilename=index.
html weblogic.httpd.default
servlet=12foo34
(2)注册文件
servlet 使用 wild cards 声明你将使用所有这些文件扩展名作服务。举例注册文件
servlet 为 .
html 文件服务:
weblogic.httpd.register.*.
html=
weblogic.
servlet.file
servlet weblogic.httpd.initargs.*.
html=defaultfilename=index.
html weblogic.httpd.default
servlet=*.
html 使用上面的方法重复加入以下类型的文件 *.gif, *.jpg, *.pdf, *.txt, etc.
注意:这些信息是备有证明在 bea
weblogic server and express 说明档的:http://www.
weblogic.com/docs51/admindocs/lockdown.
html 另:请留意新版本并升级吧。