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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:51:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<?php) [0 J0 B: s- m1 E. R" j
/**
; v/ X" ^) q% B' H$ T$ B * uploadFlash.php! o" C$ C* j  {! p, X0 Y2 U2 ~
* Flash文件上传.
2 e. y0 d8 ^  ?& Y- Z2 c */
* Z# Q3 V! [* D+ ]require_once('../global.inc.php');+ N  i! `7 f6 j) {. |

: M4 p, m' r1 J! s//operateId=1 上传,operateId=2 获取地址.
# E  z$ U% r- ?" ~, _* v$operateId = intval($_REQUEST['operateId']);5 ~% t( O$ N+ r" X5 g% r
if(empty($operateId)) exit;
9 z  ~6 I# I) z9 y5 E$ Z- i. m2 ^' X7 @3 K1 U! l
if($operateId == 1){
4 J! w* t* U7 b" N! n $date = date("Ymd");
9 O$ O- x2 c8 O+ B7 @+ u3 _ $dest = $CONFIG->basePath."data/files/".$date."/";( b" R) C4 k* X! n( u% T
$COMMON->createDir($dest);9 Q9 d/ l5 {, l
//if (!is_dir($dest)) mkdir($dest, 0777);
! D; W; w! w' g' j# O/ D
+ U! n4 E( v" T* ?5 R, B" P $nameExt = strtolower($COMMON->getFileExtName($_FILES['Filedata']['name']));. m+ _+ D- o# e9 B8 S
% @& A, ]" H+ l7 v& `
$allowedType = array('jpg', 'gif', 'bmp', 'png', 'jpeg');2 J6 n6 o% k: Q$ I; @

. P6 X2 f" P$ [& |8 r# \) m if(!in_array($nameExt, $allowedType)){
+ Z$ j. u- c3 H3 C  F) p1 b  h  $msg = 0;1 g, k) p8 f( r) k. m5 Y/ g
}
1 H0 u8 h- A( s: q2 }: ^ if(empty($msg)){
# V) U/ b/ H3 m  w7 ?0 r  $filename = getmicrotime().'.'.$nameExt;
( Q% I' _! F' E2 a$ N9 ?' k  $file_url = urlencode($CONFIG->baseUrl.'data/files/'.$date."/".$filename);
  C8 M9 c) w9 s+ i* E& Q  r7 r  ! R  I8 {0 n) n, k* H
  $filename = $dest.$filename;* y7 r/ b) ]4 f6 b% ?/ p
  if(empty($_FILES['Filedata']['error'])){- S2 c, {7 V1 e
   move_uploaded_file($_FILES['Filedata']['tmp_name'],$filename);0 ?- a" ]7 ~) i& Y3 \' Y
  }. f, z( \5 F% k7 ~0 g8 ~! A
  9 B, z0 H7 g7 i2 J% N5 f
  if (file_exists($filename)){  d( }+ N' Y+ L2 c
   //$msg = 1;
+ A$ \% {& P3 _3 ]9 x! r& j   $msg = $file_url;) u. a& G0 E2 J) J+ y1 b
   @chmod($filename, 0444);
7 S; R. e# `* M* ]( X  }else{
9 O% b0 |/ y6 h% S% N; K. K. u4 a   $msg = 0;  {+ s) o- s* ]9 c( o! K% _7 F! M
  }
% S$ |" }- j9 J; k }
0 K1 ]1 i/ P+ x6 ?( b1 Z8 M+ z $outMsg = "fileUrl=".$msg;
% b9 _: e% x& U5 k* a+ k $_SESSION["eoutmsg"] = $outMsg;
! I1 D/ L7 @, N! f7 Y% _* Q4 U exit;
8 p4 B( w4 _" y# w* b3 D}else if($operateId == 2){
& \3 R5 m4 C6 o $outMsg = $_SESSION["eoutmsg"];! |, E0 y; }: F2 S  S) ^- N  X
if(!empty($outMsg)){
5 F$ l, U" J+ s: r* K0 t: b  session_unregister("eoutmsg");# T& B3 [* G, o
  echo '&'.$outMsg;, Y9 M$ h7 S6 S5 r# Z3 @
  exit;5 c$ K. l1 `) z; K" D
}else{5 }8 Z2 T" S4 w+ n! H+ W
  echo "&fileUrl=0";
7 \$ S' X: N7 h8 S$ p: c  exit;
" C5 h5 e6 N9 w! r3 ]7 b }+ B! ~' l/ h% K7 ]2 u- x* H- }7 R
}! K* }; x: ~" ^7 K

, [  {1 m' r8 J, S/ ?/ n, n1 E; Bfunction getmicrotime(){
  N$ v  n$ z! g4 f. G: |: R+ o8 }    list($usec, $sec) = explode(" ",microtime());
2 h) f- t: j* a8 l& G$ a    return ((float)$usec + (float)$sec);
& v8 I4 b; @0 @* ?  r}
% ^& E' O3 k0 a  X$ d( Y% e/ S$ G* z  l1 p
?>
$ f9 _6 ^2 W' H% H* I: T9 X
回复

使用道具 举报

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

本版积分规则

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