找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 1818|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:51:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<?php9 |7 q4 ^* @' D9 g0 C2 o9 s
/**
, n4 J3 r9 z  z9 s) C2 X: }4 @ * uploadFlash.php& K) D/ w4 L; l# h
* Flash文件上传.
, ~, {# T: l) D0 _( T */8 `- T; t0 I* t' Y" ]1 I. q) ^8 _
require_once('../global.inc.php');* _1 G% l0 R4 C0 Y9 k7 E1 [# [
1 Q; l8 A1 u) q0 M" W
//operateId=1 上传,operateId=2 获取地址.7 y3 M! M4 S2 b8 H9 v
$operateId = intval($_REQUEST['operateId']);: G6 Z/ P4 p5 E; ~: O' S
if(empty($operateId)) exit;! D/ ^- C3 K/ T, D" F* y
. M' u: R2 s. s1 k! B8 e
if($operateId == 1){0 C: z* Q: Q( j0 {/ d- ^7 y: u8 C8 d
$date = date("Ymd");8 k$ C, y# }3 \! K% k' a/ Y: p+ L
$dest = $CONFIG->basePath."data/files/".$date."/";
0 R: J+ p9 X5 ^- ]* B, q/ P- i6 D. V $COMMON->createDir($dest);
' {) P: `, ]( S( [) W //if (!is_dir($dest)) mkdir($dest, 0777);
' |' L) B+ ^1 R0 Q2 d2 k) p
3 a. @: s% B$ c+ U $nameExt = strtolower($COMMON->getFileExtName($_FILES['Filedata']['name']));  q& W! ]3 i# b7 t
# g4 N% j" e4 y7 G' q4 x6 k7 |* {
$allowedType = array('jpg', 'gif', 'bmp', 'png', 'jpeg');
5 k" ~7 x' B, h3 \- t - u- H. {5 b- ~# r
if(!in_array($nameExt, $allowedType)){
5 ^' P' I. U& \  a" e! N2 Q& E4 _  $msg = 0;
7 p# @. C+ Y& W5 E! K& ~ }) i" H! ^. ~: P% ~
if(empty($msg)){& U" ~2 y( m0 e3 h! p4 r
  $filename = getmicrotime().'.'.$nameExt;
8 j& F  G$ b; O  $file_url = urlencode($CONFIG->baseUrl.'data/files/'.$date."/".$filename);
6 }, g! x2 h# M' N  - X: o% F. E9 o8 ?0 q6 Q* u  k* m1 r
  $filename = $dest.$filename;/ n% r+ \! ]& O- h5 _. @$ w3 P5 T
  if(empty($_FILES['Filedata']['error'])){+ V$ T, B" F/ v, E3 j
   move_uploaded_file($_FILES['Filedata']['tmp_name'],$filename);( h9 K4 S3 d8 Y6 T2 `( s
  }
: ?! ]- |2 v. e0 f7 ^- H$ V. f  
! f4 J, I$ ]( B' [* o  if (file_exists($filename)){4 P% P0 `3 x  o) Y
   //$msg = 1;: d4 F0 d3 C/ E, S
   $msg = $file_url;
+ S$ O3 Y3 P0 b( c2 g0 e* g) y   @chmod($filename, 0444);( i$ o* q" F5 ^* |: A
  }else{! {% s9 |% m! E- @2 n
   $msg = 0;
0 I  m! N1 X0 r# J2 `- ^$ Q0 ?5 }  }! i; H+ ~6 Q" V0 ?: O" C
}/ K" c, c6 J0 ?# N* w8 r
$outMsg = "fileUrl=".$msg;% }1 x4 O+ c& o4 e* L6 j" [
$_SESSION["eoutmsg"] = $outMsg;
' O/ u$ Y2 ]0 `; b$ l& o# G exit;* Q, ~5 x, `& j3 z
}else if($operateId == 2){/ v; ~3 M" R: }  [$ j
$outMsg = $_SESSION["eoutmsg"];
1 \) f$ D4 y5 X1 v if(!empty($outMsg)){3 V& l; x2 a1 V& i2 ?! z
  session_unregister("eoutmsg");0 j- B. U. e! e* k9 e
  echo '&'.$outMsg;
+ D& e3 e" z' x  exit;
# t, T1 \& Y& \7 p0 P  `6 t6 U }else{
$ I$ V: F% ^, U2 P  [  echo "&fileUrl=0";3 y8 I* e0 X, D
  exit;: V" b! n# j% P/ O% t$ p1 G% G
}3 b; v2 m5 i+ f
}* Q4 w7 T5 m7 G" i* _/ K' X

& b  N- Q; _9 X# \" j7 I5 L; lfunction getmicrotime(){ . H. y; S' k2 j9 v; Q2 x8 S# I
    list($usec, $sec) = explode(" ",microtime());
( F# {7 d) V1 s1 w7 [3 Z    return ((float)$usec + (float)$sec); ( d" @% J3 l% u8 U# t1 g) r/ B% z5 V$ W
}" r1 S2 e9 H* O" q# W* F
5 ^$ X; y6 o; J! t8 x, g& s
?>; p" |# K0 ~7 D2 \
回复

使用道具 举报

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

本版积分规则

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