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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:51:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<?php1 T) r! Z2 G# N5 ]8 C! L- [
/**& X7 W0 W9 l$ g. S5 {4 M3 C- z! x
* uploadFlash.php7 \  ]  u/ t+ A9 f
* Flash文件上传.) G6 r2 n+ x' n0 ?: _/ K8 `
*/4 A) b) H: p9 e7 H
require_once('../global.inc.php');1 o8 q0 P' `$ l3 v6 ^; f& R% m5 H! K
- n. [6 O/ v; j/ W1 \2 ?8 p& x
//operateId=1 上传,operateId=2 获取地址.& S* N: V+ p  z0 j' S& r' a! A
$operateId = intval($_REQUEST['operateId']);
9 U; q, x1 h* @3 k) r; Vif(empty($operateId)) exit;1 U- k; [, B6 R) L0 A( h
: G% l; x  [6 D" F8 C  b( x( v9 S- W
if($operateId == 1){- v7 T4 H$ k* E7 \+ n; b
$date = date("Ymd");% {6 k7 u4 e6 {- f% I! w& o, @
$dest = $CONFIG->basePath."data/files/".$date."/";
& [( E$ \! i& |8 m0 a* M' m $COMMON->createDir($dest);4 w8 u) _$ \2 o# i
//if (!is_dir($dest)) mkdir($dest, 0777);. j8 c0 Q1 d& ]: Z- B/ |1 x3 N
, h/ u2 s% Q/ L& l& s# t
$nameExt = strtolower($COMMON->getFileExtName($_FILES['Filedata']['name']));' g# k2 E# h% y0 ^$ [% e  h
: |. V1 l- D8 @, v
$allowedType = array('jpg', 'gif', 'bmp', 'png', 'jpeg');) r+ K  d8 U" k0 n

& C" |1 ^" F$ E& U, X8 v if(!in_array($nameExt, $allowedType)){' \* z' p4 `& m6 ^
  $msg = 0;2 `% d, L8 l* d. ]
}
0 N% f4 N3 F5 w9 O8 l4 a1 U if(empty($msg)){' U" h$ H: i% E" B9 E7 |! `& C
  $filename = getmicrotime().'.'.$nameExt;3 S1 n. \% {0 [" |5 t
  $file_url = urlencode($CONFIG->baseUrl.'data/files/'.$date."/".$filename);
. g) B+ H6 P- S1 U  
+ f  V1 p5 i# P( F$ M' Q- P  $filename = $dest.$filename;5 o# j6 X; `1 p0 \. _
  if(empty($_FILES['Filedata']['error'])){
* g; b' o0 Z* Y9 K$ G4 h8 @5 }" g& t   move_uploaded_file($_FILES['Filedata']['tmp_name'],$filename);& d: m  K  c2 Y% L$ m% x
  }
, L  _. n0 H' [. m$ `7 g; Z9 D  5 M3 H7 s' d2 ~7 d9 P8 D' t: e
  if (file_exists($filename)){
9 c" T, X- @' s4 c1 [# a   //$msg = 1;. W. M$ R- d: @! q) ?
   $msg = $file_url;7 A$ d- C6 M8 y5 r
   @chmod($filename, 0444);
" n* c8 w- A# C9 G4 {1 ^  }else{
$ P6 v) Q0 I! q) Y0 j) v% m   $msg = 0;2 M2 n+ E8 n- E
  }
" p; |# d, }  L: V6 b! l }# Z3 L) @0 J: C, Y7 J
$outMsg = "fileUrl=".$msg;
: P: ?* M0 O5 ]4 t  q/ ~' k6 O- U& p $_SESSION["eoutmsg"] = $outMsg;
1 ^2 A0 \# V* d8 b% B3 i( M0 D" t1 o exit;! }0 j) p" Y) A9 X
}else if($operateId == 2){
" T) O% f7 T+ Q: r* t6 a $outMsg = $_SESSION["eoutmsg"];3 i! h5 V+ \) ^1 E8 K# R" E
if(!empty($outMsg)){
- g) ?/ h' k9 j: `4 V  |! [  session_unregister("eoutmsg");
( B9 U4 I" r5 h% C1 U  l1 ?( Q  echo '&'.$outMsg;4 j! [0 L% l0 n4 X
  exit;7 Q5 f6 K  ~- G
}else{
' b1 c' m# n% M4 X4 D6 s  echo "&fileUrl=0";/ Y! i, T) h2 {) Y* L) L
  exit;
) D6 S8 ?0 {/ {$ { }
4 V) ?- o- R( w2 a& ?$ F9 }}
6 W8 R* g' c' G& x+ x) k9 a% H: S% H
5 g" r! j7 r, h6 c, o* f* rfunction getmicrotime(){ # P+ W# c& u. ^" ]0 W! p9 F/ _
    list($usec, $sec) = explode(" ",microtime());
6 v! j4 j) R$ P( ]8 `    return ((float)$usec + (float)$sec); 6 n, K2 [: B; M8 I
}
3 b8 D, j* p; u8 Y  e3 {3 n5 w( q& C' T; I9 s: h4 R  k
?>
) C6 ]$ r) I# ^/ @5 c# F
回复

使用道具 举报

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

本版积分规则

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