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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:51:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<?php
5 ?+ K; \3 M0 s  f4 `' E: N! N6 X/**4 g+ O3 C9 L: @1 r  f. P
* uploadFlash.php
; n! I9 K, U& P( N- U * Flash文件上传.
- F+ i7 G6 ^6 u5 f! _) f$ ]* o */* T* L6 ~: b  c6 A9 X7 y' }
require_once('../global.inc.php');, C" m- k5 {4 ^+ Z: l# L/ S
4 U& J; O0 [) r9 t+ b
//operateId=1 上传,operateId=2 获取地址.
. n2 F6 U' z: H& d$operateId = intval($_REQUEST['operateId']);) ^- e: ?  p5 p. |: P
if(empty($operateId)) exit;
9 ]8 Q( X3 ^! Z; g5 M$ N/ W2 E
8 F6 X2 [, N; r* y$ `! y3 Jif($operateId == 1){3 ?- K, F& L9 O3 H2 H% ~
$date = date("Ymd");
& U) g  j* H* L+ S" {1 H $dest = $CONFIG->basePath."data/files/".$date."/";
/ @" M5 V4 h6 Q* ~6 a $COMMON->createDir($dest);
+ n' G6 V  g6 i9 P //if (!is_dir($dest)) mkdir($dest, 0777);
% T. P6 g% ~0 e3 d
: S, ?1 @: V3 k6 A $nameExt = strtolower($COMMON->getFileExtName($_FILES['Filedata']['name']));
" a* c: _9 T; s3 U& a4 f
1 O" Z6 Y; P; g& \ $allowedType = array('jpg', 'gif', 'bmp', 'png', 'jpeg');% y, f$ ~& Z$ C0 V: M' k8 k4 Z- |
: `; k$ Z# V8 C) {) V1 f
if(!in_array($nameExt, $allowedType)){
; J" V8 ]- F1 E1 D6 d% ^  $msg = 0;; {1 ?# N; L1 j2 @$ m# c  L: y3 m/ r
}
0 ~" @" }( a1 K9 C6 Y$ y# w  { if(empty($msg)){. P! U! k' L: V% D9 i, Y! `+ u( @" f7 n
  $filename = getmicrotime().'.'.$nameExt;
; D, d. ^3 Z6 Q% J, I  $file_url = urlencode($CONFIG->baseUrl.'data/files/'.$date."/".$filename);) B* C3 F* s% f& p& O& P
  / i' l4 f6 x0 B: q
  $filename = $dest.$filename;: T$ q, v* {0 I# c
  if(empty($_FILES['Filedata']['error'])){
2 B+ B' b3 i: I' t' q   move_uploaded_file($_FILES['Filedata']['tmp_name'],$filename);. N. W, d; B2 Y
  }1 w" Q" ^5 k! K/ T1 t; d1 }: V
  
) l1 q% N% Q1 a7 b+ q  if (file_exists($filename)){7 u5 |* z% r* f8 \! e7 w3 t1 y4 s* W
   //$msg = 1;
% k' X9 w) |, P6 L. l   $msg = $file_url;
9 l: [1 U7 Z, b# o! c   @chmod($filename, 0444);
3 G' @  N6 X+ D9 v# y( @, ?  }else{* e7 E) w) \/ W, b3 I! b
   $msg = 0;. f4 G+ {" B+ C" q" r+ a9 s
  }4 ]) Z' i9 k8 @' P" m3 j
}
% |2 }  Y6 Q3 F, s3 [  Q* `1 H $outMsg = "fileUrl=".$msg;; I* k; g+ [5 @( {" a2 y
$_SESSION["eoutmsg"] = $outMsg;% V# l  N7 F3 O9 q$ t
exit;0 P8 T! R, s4 W: F; s( T1 s
}else if($operateId == 2){0 b+ @; p% I0 s! V# t
$outMsg = $_SESSION["eoutmsg"];
; N4 N1 M! d* R- B+ Y! D if(!empty($outMsg)){6 e- L2 m. S& w2 U
  session_unregister("eoutmsg");! g5 {) o% f( f" F5 b3 F
  echo '&'.$outMsg;
! l5 Q) k0 \$ g6 I/ b# d* v  exit;
: T8 u4 K2 Q) `; @ }else{8 W! D( e) j* |9 I( u& Q" a0 J
  echo "&fileUrl=0";, r  q! Z6 S$ ~: `2 I' ~5 \  H
  exit;! m2 _* z; Q* M" }0 k
}
4 u# K& b3 U1 s7 y# E) G( }}
- H5 x# e' P0 K4 e  R$ ?7 P0 A4 y7 G+ E% u
function getmicrotime(){ 0 l( a" h- ^- S' M) q6 y
    list($usec, $sec) = explode(" ",microtime()); 2 w# e, C( _6 N! J7 h0 Y+ M( e
    return ((float)$usec + (float)$sec);
8 {2 N' Y4 [+ _* E* [}
7 x8 V  ^9 j# P1 G
" `2 C5 z6 E& J' L7 a' C0 z  x?>1 D& G  O: y+ A& V
回复

使用道具 举报

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

本版积分规则

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