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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:51:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<?php' W9 x) w; S3 o( n6 |# ~
/**- _& [! Z( r  O$ l" Z, F
* uploadFlash.php
( q( [" ]4 J8 Q  s * Flash文件上传.1 X5 G% i# e7 l) x# I; X
*/& E4 J  W% ?  @* M1 r* k
require_once('../global.inc.php');1 E- z7 I. C4 Y) ?! _

, J% ^, `) G) h: p//operateId=1 上传,operateId=2 获取地址.
4 V  u2 s, A8 \" p- b- `$operateId = intval($_REQUEST['operateId']);
: ~; i+ z6 [2 fif(empty($operateId)) exit;& H% }1 j. z$ C3 a( M- S" q
( C3 N( K, m& q2 g/ A; w1 R
if($operateId == 1){4 K0 e  O& B& N- h' X( U
$date = date("Ymd");! c0 z# i9 C9 |7 B
$dest = $CONFIG->basePath."data/files/".$date."/";
% F/ ~' z5 _6 N% q5 C/ ] $COMMON->createDir($dest);
# }# j$ `6 Z) f  m$ H3 z7 o% E/ ~ //if (!is_dir($dest)) mkdir($dest, 0777);
' @5 U7 H: Y3 ~& |" j2 j" P
. K! a5 W4 z' ^$ c: g* `  h $nameExt = strtolower($COMMON->getFileExtName($_FILES['Filedata']['name']));- ~, v' r  s( {3 \+ {4 o/ @5 l9 N5 }0 v
7 ~3 _, f3 C( K# c+ \5 M
$allowedType = array('jpg', 'gif', 'bmp', 'png', 'jpeg');4 A, R5 U! L; S! Q9 e6 c! l) [
) t9 g. w$ ?! C5 p! }
if(!in_array($nameExt, $allowedType)){
! I: E# M, j6 P5 }1 T7 g% {; D( O  $msg = 0;8 ^  M& ^# h0 q0 `0 ?8 x0 c" s
}! h7 X+ r3 x% M* c
if(empty($msg)){) D' n: [* e) r3 A: p9 q
  $filename = getmicrotime().'.'.$nameExt;
, V( c2 z0 J3 T8 n* u6 I3 W% a  $file_url = urlencode($CONFIG->baseUrl.'data/files/'.$date."/".$filename);  J$ k/ d: E, t* H, T% u8 t$ r
  # I: }6 I8 a! l% m3 w4 m
  $filename = $dest.$filename;
3 a6 {1 {  x" ], z) S( {9 p; Y  if(empty($_FILES['Filedata']['error'])){  W# a% w1 D4 @8 S
   move_uploaded_file($_FILES['Filedata']['tmp_name'],$filename);# `  |: d/ d* q( b9 h. C* d( F
  }
9 _2 C7 \0 E' F1 w/ ~: Q$ K( T  
; w# F. _& Y; Q8 a! S  if (file_exists($filename)){
! H! J! I; E  s3 Q( b7 i   //$msg = 1;
. Q4 x6 O4 v6 F$ }8 L) G. c3 ]   $msg = $file_url;
, n/ I8 k5 ]( d. s+ T   @chmod($filename, 0444);
. i+ V; c2 b1 ^/ i* }3 J  }else{$ E2 n; U+ z- Q! _& c3 ~( F
   $msg = 0;, k3 h- z0 p* L
  }
  l1 @2 ]3 l) I6 Z1 y. u8 O }* ?3 v$ b* ]; ^: x2 p; }" U0 R
$outMsg = "fileUrl=".$msg;2 w: P  o0 }% t: w! [! @2 Y) `; k
$_SESSION["eoutmsg"] = $outMsg;
: A  z4 p3 X. \, z4 P exit;2 {) [3 Z0 M3 N1 k% V5 J. z2 W
}else if($operateId == 2){
& p( k* V% N% S $outMsg = $_SESSION["eoutmsg"];
/ g" W+ ^3 d& \9 l: l9 I if(!empty($outMsg)){
. t  l5 h0 o3 C( x- _  session_unregister("eoutmsg");
: ]8 U2 w- ^1 J* \  echo '&'.$outMsg;0 y# {: J: Q1 j1 d
  exit;( ~. R( p. h+ Z$ v0 ~% j
}else{+ b3 ?4 ~' Y& D# h3 x( ]) z1 t- @
  echo "&fileUrl=0";8 G( g. a7 k" e7 N
  exit;
8 K! a0 D9 y# S( M& l. R }
$ ^" c* A2 u3 Y# k+ ~* `4 ^}. }: O) v) d+ L5 R! G% [$ X

' }) G; z2 b  S. W* ufunction getmicrotime(){ 3 `7 O& a- \0 b
    list($usec, $sec) = explode(" ",microtime());
) Z0 E! p) y# z    return ((float)$usec + (float)$sec);
& A9 O" }9 y/ @2 N, O& i}$ u! ?) T3 u& g* _# j! a2 L+ _

8 m; I2 K% b4 H+ z?>
* O8 X1 q# L, |1 t4 d
回复

使用道具 举报

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

本版积分规则

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