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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:51:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<?php; Y' ^% `- f/ r2 S; |" l$ ^3 v
/**
/ l) E5 m2 \! I. u  ^ * uploadFlash.php- T( R& h# T) q9 Y/ y
* Flash文件上传.
/ ]. F% U- ?& I9 J2 F) P. ? */
% d- N. _9 h- Y$ Srequire_once('../global.inc.php');
4 E5 J: r, x, _' T/ X* X
, X- @' M- q6 U' G% R  P8 m3 [//operateId=1 上传,operateId=2 获取地址.
2 M3 b# p9 e+ y7 `' ^$operateId = intval($_REQUEST['operateId']);4 t5 I) u3 Q' l) S
if(empty($operateId)) exit;
* [& c/ i: z/ l* {* Y! G* S1 i: v# Z% r  G/ c  A
if($operateId == 1){
8 F) H) \; ~3 e% z7 m $date = date("Ymd");# q( `5 Y' w3 c6 ^. u2 ~
$dest = $CONFIG->basePath."data/files/".$date."/";
6 F4 j: \* p9 z" `: J8 b% P4 G0 k $COMMON->createDir($dest);
/ W, x4 }0 m& N8 z //if (!is_dir($dest)) mkdir($dest, 0777);  |' S' q5 B9 J6 Q1 u" c/ t. q* G
- ~2 ?5 p+ i" Z9 I
$nameExt = strtolower($COMMON->getFileExtName($_FILES['Filedata']['name']));$ o8 X0 M! f1 [& G

  e' A( L$ \6 R $allowedType = array('jpg', 'gif', 'bmp', 'png', 'jpeg');: e7 u# R0 B( ?6 K) W! X( ]& {& @
5 ^$ w' {' D: R1 I1 M8 h8 x8 z7 y
if(!in_array($nameExt, $allowedType)){
7 b: r+ y1 l  k0 U  {, C+ H  $msg = 0;' g! T! X6 n) @  K
}
; |2 ]+ l9 j, i, Y if(empty($msg)){3 [2 s/ i9 h' h
  $filename = getmicrotime().'.'.$nameExt;
& x. x" I1 b9 j( n' k1 n- l2 `  $file_url = urlencode($CONFIG->baseUrl.'data/files/'.$date."/".$filename);  O1 \( `, d7 G" d
  # g+ `! p  l7 ^) G' b% C& r' }9 q9 \
  $filename = $dest.$filename;
' A$ B3 h* U  x  R/ g; I4 ?  if(empty($_FILES['Filedata']['error'])){2 g$ f, k, W# f/ S) K
   move_uploaded_file($_FILES['Filedata']['tmp_name'],$filename);
; W5 A( o4 O+ M( w  }% ~$ T/ b1 G5 l/ d' p
  
" T' v' u( c! `* K: D  if (file_exists($filename)){
: K/ A0 [/ B5 `& ?  p; w   //$msg = 1;% ]% r: l* B% c- J
   $msg = $file_url;
, W" W& l( v# T4 M   @chmod($filename, 0444);
6 p& {: Z4 n$ ~! o( Z) x: m  }else{
) ]6 a2 n* {5 h' j   $msg = 0;' t0 s9 e4 s* J7 f
  }5 O/ o- D6 ~$ `( D0 s8 D
}2 K) n: b: N4 D* l/ i
$outMsg = "fileUrl=".$msg;# z! k- H& p+ _  s2 H9 l2 }6 n
$_SESSION["eoutmsg"] = $outMsg;0 Z+ E1 H# u% j6 Z- p6 n3 R
exit;
$ n8 {3 I7 ~; k% ?}else if($operateId == 2){  x& A( D# l" M8 `% h; h
$outMsg = $_SESSION["eoutmsg"];( a3 V5 }6 g) @# H+ o8 v; U$ m. f
if(!empty($outMsg)){
2 b! Z# M" i1 ^+ H  session_unregister("eoutmsg");
$ H& W: J# R7 y1 H  echo '&'.$outMsg;8 G7 D4 }3 z& G7 P$ ?
  exit;+ A% K. }" Z( T% O) l
}else{4 ^: Q6 ~$ \8 N  S, a% @
  echo "&fileUrl=0";' }2 z7 Y: T8 L2 H& r8 j
  exit;
3 Z1 M- B; w6 Y/ Q }: |3 ]2 ~( V2 m  c- w1 ~
}
5 l4 z% y& t" b3 f
$ E. \* ^9 [9 a0 \* }. Cfunction getmicrotime(){ + e7 V' \9 a2 Y! D; m2 ]: I
    list($usec, $sec) = explode(" ",microtime());
: O1 B  a8 \: O1 d; H" o    return ((float)$usec + (float)$sec); . y3 Z& ~6 y6 \  S7 m' A
}$ @: l/ U2 E" t4 [& t) d

4 U* e7 l$ j( V4 v?>6 r/ _5 s5 W- I: |6 l
回复

使用道具 举报

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

本版积分规则

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