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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:51:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<?php5 H" G* o' v$ _  B) v
/**# u% @" ]4 m/ i% v) z/ M0 a
* uploadFlash.php9 c) w( s4 |) v( X- L
* Flash文件上传.
9 e; j( _( ]! M  m+ D */
) v. a4 G4 [2 K# Y- O% s: urequire_once('../global.inc.php');
: }/ N6 k6 }4 _- q6 U7 s# D/ J1 y1 l; s) l" \: h
//operateId=1 上传,operateId=2 获取地址.5 n( g- ^; s6 W/ g, H# c3 q% X5 A
$operateId = intval($_REQUEST['operateId']);
  c) E) F3 F, ?3 ]* gif(empty($operateId)) exit;. F9 j! N! [4 B' \( i
' a" [* q- b& W9 W
if($operateId == 1){) i" Z& n0 A3 I' [
$date = date("Ymd");. ]" e9 s; J- i$ U9 J
$dest = $CONFIG->basePath."data/files/".$date."/";# @" B, G. p1 P) o* N  @" ~$ [
$COMMON->createDir($dest);5 [1 j( T1 S+ k! I$ y
//if (!is_dir($dest)) mkdir($dest, 0777);$ V% Y9 c2 _5 V
5 T5 d+ D$ q: s- Y0 F# X
$nameExt = strtolower($COMMON->getFileExtName($_FILES['Filedata']['name']));
4 S6 l9 d. ]  v* @% \3 {) C2 E 5 I6 {2 ^0 w) \) ~- e
$allowedType = array('jpg', 'gif', 'bmp', 'png', 'jpeg');- g; n7 J$ n& C7 r  }& [' T

$ j8 o; G" b4 f+ @& l" t* L! e if(!in_array($nameExt, $allowedType)){: V, g+ J0 n  w8 z; J/ K3 F& E0 h& i
  $msg = 0;. K0 v* B& B" j, L! m( p5 M1 V
}
8 |! T6 T. m  r: w( P* }, V, r if(empty($msg)){
0 S. y5 @+ Q+ J7 |& J" ^& z5 }. @  $filename = getmicrotime().'.'.$nameExt;
" w) W. \0 N$ W$ B  $file_url = urlencode($CONFIG->baseUrl.'data/files/'.$date."/".$filename);
( f( M& b8 s* V6 @  z  ) i: b$ ]) U  Z0 S
  $filename = $dest.$filename;4 c% ^. o( A) T* E9 ]) v1 n
  if(empty($_FILES['Filedata']['error'])){
8 F0 I7 w- }) @- E6 m   move_uploaded_file($_FILES['Filedata']['tmp_name'],$filename);
7 B" q' f9 _; r4 m' @  }, {- ?- r# ], a% c# i* f0 f
  
; c% x* ^& q: ^/ z- {  if (file_exists($filename)){& N, ~# [# q! U& \+ Y: `8 [$ C
   //$msg = 1;
2 ~# |) a$ u3 Q. g   $msg = $file_url;# S1 U: Z0 {& ]$ Q$ ^
   @chmod($filename, 0444);" w' Q2 w) F/ o' z
  }else{3 ^# ^6 G" b8 ]4 Y7 Q3 I+ D! |
   $msg = 0;7 x. e0 v' M# y$ F2 j$ t
  }9 i0 D8 f% S% N3 l: s' @
}
2 L7 t/ O/ z+ }2 G) F  c4 @# S $outMsg = "fileUrl=".$msg;
) d' w. n8 P5 ?( h+ q $_SESSION["eoutmsg"] = $outMsg;
8 ^+ n/ r* W5 j exit;7 D$ N( h; I5 ]+ f, O% L
}else if($operateId == 2){
" `' n' }3 X; P5 p: h $outMsg = $_SESSION["eoutmsg"];* G, Z' E1 w, {+ w2 P  d
if(!empty($outMsg)){
$ n; t/ m0 v6 P, [7 f* e' \" Y  session_unregister("eoutmsg");- V6 o2 r$ y) e) c( x- p
  echo '&'.$outMsg;1 S! |% C% u* y4 H; \& T
  exit;
& @  R8 Y* u: M& w& f# w }else{  I* J6 A- p) c/ B
  echo "&fileUrl=0";
, p8 l% ]) t0 q; o0 J  exit;/ ]/ C! ?) o" I, W7 U$ q. i* n1 F) E
}! @3 T) d* T: O2 w- R8 T
}
. w0 H! b4 \+ P5 I- {1 l8 w* `+ S/ I$ O- R$ J$ A
function getmicrotime(){
" H: p/ @; x- T( h  x- P1 g    list($usec, $sec) = explode(" ",microtime()); / }& H0 z& {, c7 k  u/ s- Q! G
    return ((float)$usec + (float)$sec); ) J; y# b0 p2 a7 Z" U
}
% B9 @# }4 p' |% g' W' U, u6 K9 m8 s8 i
?>
% I/ T6 q, f, g* o& R5 x2 g4 R
回复

使用道具 举报

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

本版积分规则

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