发新话题
打印

阿里巴巴支付宝远程代码执行漏洞-0DAY

阿里巴巴支付宝远程代码执行漏洞-0DAY

复制内容到剪贴板
代码:
阿里巴巴支付宝远程代码执行漏洞

by cocoruder(frankruder_at_hotmail.com)
[url]http://ruder.cdut.net[/url]


Summary:

   支付宝是由阿里巴巴公司出品的在线支付解决方案,在中国拥有众多用户,更多信息请参考:

   [url]https://www.alipay.com[/url]

   在支付宝密码输入控件中存在一个远程代码执行漏洞,远程攻击者可利用此漏洞在被攻击者系统上执行任意代码,进而可安装木马以及间谍程序,窃取相关敏感信息比如淘宝帐号/密码,或者支付宝帐号/密码。


Affected Software Versions:

   当前所有版本


Details:
   
   漏洞存在于由ActiveX控件"pta.dll"导出的"Remove()"函数中,相关信息如下:

   InprocServer32:   pta.dll
   ClassID    :    66F50F46-70A0-4A05-BD5E-FBCC0F9641EC

   [id(0x60030001), helpstring("method Remove")]
   void Remove([in] int idx);

   直接看Remove()函数的处理流程:

   .text:10003D4E ; Remove
   .text:10003D4E
   .text:10003D4E sub_10003D4E   proc near        ; DATA XREF: .rdata:1000B3A4o
   .text:10003D4E                   ; .rdata:1000B41Co ...
   .text:10003D4E
   .text:10003D4E arg_0        = dword ptr  4
   .text:10003D4E arg_4        = dword ptr  8
   .text:10003D4E
   .text:10003D4E            mov    eax, [esp+arg_4]      
   .text:10003D52            test   eax, eax
   .text:10003D54            jl    short loc_10003D78   
   .text:10003D56            push   esi
   .text:10003D57            mov    esi, [esp+4+arg_0]   ; get idx
   .text:10003D5B            shl    eax, 4        ; idx << 4
   .text:10003D5E            add    eax, [esi+8]      ; [esi+8]=0
   .text:10003D61            push   edi        ;
   .text:10003D62            mov    edi, eax        ; idx << 4 ==>edi
   .text:10003D64            mov    eax, [edi+8]      ; [(idx << 4)+8] ==>eax
   .text:10003D67            push   eax
   .text:10003D68            mov    ecx, [eax]      ; [[(idx << 4)+8]]==>ecx
   .text:10003D6A            call   dword ptr [ecx+8]   ; [[[(idx << 4)+8]]+8]==>jmp addr
   .text:10003D6D            push   edi
   .text:10003D6E            lea    ecx, [esi+4]
   .text:10003D71            call   sub_10003F35
   .text:10003D76            pop    edi
   .text:10003D77            pop    esi
   .text:10003D78
   .text:10003D78 loc_10003D78:              ; CODE XREF: sub_10003D4E+6j
   .text:10003D78            xor    eax, eax
   .text:10003D7A            retn   8
   .text:10003D7A sub_10003D4E   endp


   idx是我们可以控制的,因此可以完成有意思的攻击,比如我们设置的idx为0x41414141,程序会执行[[[14141410h+8]]+8]地址的代码。


Solution:

   建议用户通过注册表对相应的CLSID设置Killbit,如不使用支付宝可到%system%\aliedit\目录下删除pta.dll


Disclosure Timeline:

   2007.02.07      发布公告


Attached File:

   这里给出一个用大内存分配实现的exp,把所有需访问其值的地址都置成0x0d0d0d0d,可以很好地达到攻击效果。
   警告:此exp只为展示此漏洞存在,请务用于其它用途。

   [url]http://ruder.cdut.net/attach/exploit_alipay_vul.rar[/url]


--EOF--

附件

exploit_alipay_vul.rar (1 KB)

2007-2-7 16:20, 下载次数: 45

TOP

发新话题