阿里巴巴支付宝远程代码执行漏洞-0DAY
鬼仔:江民上关于这个漏洞的文章:支付宝存在严重漏洞 黑客趁机任意妄为
信息来源:邪恶八进制
阿里巴巴支付宝远程代码执行漏洞
by cocoruder(frankruder_at_hotmail.com)
http://ruder.cdut.net
Summary:
支付宝是由阿里巴巴公司出品的在线支付解决方案,在中国拥有众多用户,更多信息请参考:
https://www.alipay.com
在支付宝密码输入控件中存在一个远程代码执行漏洞,远程攻击者可利用此漏洞在被攻击者系统上执行任意代码,进而可安装木马以及间谍程序,窃取相关敏感信息比如淘宝帐号/密码,或者支付宝帐号/密码。
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只为展示此漏洞存在,请务用于其它用途。
–EOF–
据说所有支付接口API都有漏洞可以利用..不知真假… MMD..