网站地图    收藏   

主页 > 后端 > 网站安全 >

Cloupia End-to-end FlexPod Management目录遍历 - 网站安全

来源:自学PHP网    时间:2015-04-17 13:03 作者: 阅读:

[导读] *缺陷信息*类别: Directory Traversal可远程测试: Yes本地测试: Yes*程序介绍*Provides end-to-end FlexPod management and automation across physical,virtual, compute, storage and network ......

*缺陷信息*
类别: Directory Traversal
 
可远程测试: Yes
 
本地测试: Yes
 
*程序介绍*
 
Provides end-to-end FlexPod management and automation across physical,
virtual, compute, storage and network resources.
 
Create internal private clouds rapidly with internal standards and
procedures to maximize the infrastructure investments.
 
 
 
Provides comprehensive physical and virtual infrastructure management and
automation.
 
Provides unified solution and single pane of glass for consistent and
connected experience across private, public & hybrid clouds.
 
*缺陷概述*
 
jQuery File Tree is a configurable, AJAX file browser plugin for the jQuery
javascript library utilised within the Cloupia application framework.
 
Unauthenticated access to this module allows a remote attacker to browse
the entire file system of the host server, beyond the realm of the web
service itself.
 
Cloupia are aware of this flaw and are releasing a patch to mitigate
access. End users are urged to update immediately by contacting the vendor.
 
http://www.cloupia.com
 
 
 
*技术分析*
 
The following process performed as an attacker to exploit this
vulnerability would be as follows:
 
The code for the jQuery File Tree Java-Server-Page file reads as follows:
 
<%@ page
 
        import="java.io.File,java.io.FilenameFilter,java.util.Arrays"%>
 
<%
 
/**
 
  * jQuery File Tree JSP Connector
 
  * Version 1.0
 
  * Copyright 2008 Joshua Gould
 
  * 21 April 2008
 
*/
 
    String dir = request.getParameter("dir");
 
    if (dir == null) {
 
        return;
 
    }
 
 
 
        if (dir.charAt(dir.length()-1) == '\\') {
 
        dir = dir.substring(0, dir.length()-1) + "/";
 
        } else if (dir.charAt(dir.length()-1) != '/') {
 
            dir += "/";
 
        }
 
    if (new File(dir).exists()) {
 
               String[] files = new File(dir).list(new FilenameFilter() {
 
                   public boolean accept(File dir, String name) {
 
                               return name.charAt(0) != '.';
 
                   }
 
               });
 
               Arrays.sort(files, String.CASE_INSENSITIVE_ORDER);
 
               out.print("<ul class=\"jqueryFileTree\" style=\"display:
none;\">");
 
               // www.2cto.com All dirs
 
               for (String file : files) {
 
                   if (new File(dir, file).isDirectory()) {
 
                               out.print("<li class=\"directory
collapsed\"><a href=\"#\" rel=\"" + dir + file + "/\">"
 
                                      + file + "</a></li>");
 
                   }
 
               }
 
               // All files
 
               for (String file : files) {
 
                   if (!new File(dir, file).isDirectory()) {
 
                               int dotIndex = file.lastIndexOf('.');
 
                               String ext = dotIndex > 0 ?
file.substring(dotIndex + 1) : "";
 
                               out.print("<li class=\"file ext_" + ext +
"\"><a href=\"#\" rel=\"" + dir + file + "\">"
 
                                      + file + "</a></li>");
 
                       }
 
               }
 
               out.print("</ul>");
 
    }
 
%>

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论