This Domain(Admin5.com) is for Sale:

JSP漏洞大观

时间:2007-10-22  来源:不详  作者:林子

  # ------------------------------------------------
  # 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. 通过强制使用 SSIServlet 查看未分析的页面 :
  服务器站点通过 WebLogic 中的 SSIServlet 处理页面,它在weBlogic.properties 文件中注册以下信息:weBlogic.httpd.register.*.shtml= weBlogic.servlet.ServerSideIncludeServlet

  通过 URL 使用 SSIServlet 自动处理通配符 (*) 。因此 如果文件路径开头为 /*.shtml/,将强制文件由 SSIServlet 处理。如果使用其它文件类型如 .jsp 和 .jhtml, 就能查看未分析的 jsp 和 jhtml 代码。举例:http://www.xxx.com/*.shtml/login.jsp
本文来自织梦


  2. 通过强制使用 FileServlet 查看未分析的页面 :
  WebLogic 使用 FileServlet 配置 ConsoleHelp servlet ,在weBlogic.properties 文件的以下内容可得知:

# For Console help. Do not modify.
weBlogic.httpd.register.ConsoleHelp= weBlogic.servlet.FileServlet
weBlogic.httpd.initArgs.ConsoleHelp=\defaultFilename=/weBlogic/admin/help/NoContent.html
weBlogic.allow.execute.weBlogic.servlet.ConsoleHelp=everyone

  因此如果文件路径以 /ConsoleHelp/ 开头将导致 WebLogic 使用 FileServlet,使未分析或编译的文件作页面显示出来,举例:http://www.xxx.com/ConsoleHelp/login.jsp

  解决方案:
  不要使用示例中的设置方法设置 FileServlet 。这可能会让你的 JSP/JHTML 文件的源代码暴露出来。请查看在线文档:
  http://www.weBlogic.com/docs51/admindocs/http.html#file

  示例的 registrations 如下:
  weBlogic.httpd.register.file=weBlogic.servlet.FileServlet
  weBlogic.httpd.initArgs.file=defaultFilename=index.html

看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容