找回密码
 立即注册
查看: 2398|回复: 0
打印 上一主题 下一主题

.用友ICC网站客服系统远程代码执行漏洞EXP

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:51:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<?php
& b- o1 L# M& {$ B1 X1 R4 E/*** Z( x- h# j& o, t/ Q( r( |
* uploadFlash.php7 E( s5 }5 p6 C  ^& n* n4 i
* Flash文件上传./ @$ N( i5 i( ]% f4 n/ e
*/
, D. w, y' u1 ?5 `% Yrequire_once('../global.inc.php');3 U- k- @/ ^9 E8 R5 m+ t) h; `- a0 c

# H2 L1 a9 d/ m& H+ E2 _3 q//operateId=1 上传,operateId=2 获取地址.
- X6 Q2 e, O1 K" y$operateId = intval($_REQUEST['operateId']);
8 U$ e4 }7 ]5 t9 y0 H/ J, Nif(empty($operateId)) exit;3 ?2 \  G% `1 _5 F- F/ f9 f
. b% y0 N2 r3 I3 N0 }; g% I
if($operateId == 1){' l) e+ W+ Y, z7 A/ _  y" A; T
$date = date("Ymd");- _- L5 T- R) {- x
$dest = $CONFIG->basePath."data/files/".$date."/";9 L- k6 P! @3 i+ {: h
$COMMON->createDir($dest);
& I& B, f# Z, @1 N //if (!is_dir($dest)) mkdir($dest, 0777);! N, x1 C$ \8 @' C/ y, }
' J$ k2 T7 @' F" b
$nameExt = strtolower($COMMON->getFileExtName($_FILES['Filedata']['name']));+ q+ |( {+ d) s

" F9 K# l, [1 y0 ?' n2 B $allowedType = array('jpg', 'gif', 'bmp', 'png', 'jpeg');
; {: Q1 t! ~' w" c- G  L2 L 3 ~" j( ?; j/ U& C6 N  v
if(!in_array($nameExt, $allowedType)){& U$ R( H+ R2 x; T. V; u& x4 {
  $msg = 0;
& A2 C& `3 k* h7 k5 e9 k }( L: I# c9 q5 p/ H4 l
if(empty($msg)){& ]" y; n4 z& V& b5 `/ ^1 d
  $filename = getmicrotime().'.'.$nameExt;5 M* ?; ^5 s( e. g9 W
  $file_url = urlencode($CONFIG->baseUrl.'data/files/'.$date."/".$filename);
9 d- k- h& O6 o! X& b# d2 [  5 t  t9 p, R3 P, U; Y* i
  $filename = $dest.$filename;$ o9 x9 b1 j( P
  if(empty($_FILES['Filedata']['error'])){
1 x5 W* C0 d& A* l   move_uploaded_file($_FILES['Filedata']['tmp_name'],$filename);
/ m: a! f5 i5 @) A) n: Z4 e  }
% A; }) K. T* r: _  ( Z6 [+ Z. b$ L. w
  if (file_exists($filename)){' a3 r# e* F( }3 w# \6 X
   //$msg = 1;
- j: V: ]2 A( i( \/ ?, X/ ~4 g. a   $msg = $file_url;
/ z, n' R5 w! Y0 R) X   @chmod($filename, 0444);9 z) \1 }/ g* t* o) ^7 p
  }else{
( n3 _" F# n. n* \$ f* q/ \+ Y7 s   $msg = 0;
  f" }+ q* L5 [# ]$ i. B  S  }
& E4 ^0 t  z$ A" b* [% x/ S }
2 g. C8 h8 a3 l, }* P) \0 B5 z $outMsg = "fileUrl=".$msg;; Z; T3 |6 B9 @, R' g  u
$_SESSION["eoutmsg"] = $outMsg;! r. ^! t5 ^4 H! x" }* f6 b
exit;# ]8 |- z: U4 X) F1 v- F) O
}else if($operateId == 2){0 h8 B% t! K5 P: j3 t
$outMsg = $_SESSION["eoutmsg"];
: x7 h8 ]4 n  v0 q. ?! g if(!empty($outMsg)){/ s6 _. F- _  h' n% O# c
  session_unregister("eoutmsg");
& `& B! _+ o1 b( V5 x  echo '&'.$outMsg;7 Z* t# A2 H  O# L8 g3 O6 I
  exit;, O( T  C1 ^0 P1 k7 z
}else{
7 D3 S+ {/ u% J% X+ L+ H+ l4 H  echo "&fileUrl=0";
! h4 f* K5 ^% u& z  T  exit;
1 J( _/ h" W; x1 S }& X& h/ o8 y6 X
}
5 |2 u) Y: x& x3 L4 z/ w2 l/ U' L* v1 T& z
function getmicrotime(){ 8 g1 s2 j7 \9 ~2 r$ g' `- X
    list($usec, $sec) = explode(" ",microtime()); $ s$ d1 D9 u+ o4 X0 A; I' f
    return ((float)$usec + (float)$sec); 6 J: y$ J) B+ W8 Y. m. f
}* r8 ?0 A" _& A: U5 h1 o+ Z) x
  Y1 l; x, e7 s* x
?>
* h# F: x2 E8 ?- `; T' O9 m
回复

使用道具 举报

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

本版积分规则

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