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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:51:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<?php; d5 ~% `, Q- Q3 k, K1 V% o8 i
/**
2 q0 X( e# j0 ^# t, y+ f! V# F+ A: K * uploadFlash.php
- X; E! N. P7 I& z, w, t, F2 }! d * Flash文件上传.
% k% e4 q# r& y( {$ S- @  r */1 G5 Z3 O2 L( l0 @; ]8 C9 M
require_once('../global.inc.php');1 T; i# G' N3 F+ R+ R/ Q

# m; U4 l! Z" Q: x, u+ v) X//operateId=1 上传,operateId=2 获取地址.. C" i# Y9 A0 O/ ~3 I/ P
$operateId = intval($_REQUEST['operateId']);
! u- r4 D5 Z8 Jif(empty($operateId)) exit;
$ k, C( j5 J4 Q3 c* X/ f# `; z- m+ J) m$ B3 ]+ v9 W
if($operateId == 1){
6 y) T! {0 e2 L& f3 U $date = date("Ymd");
: |5 j# E+ b, Z- B/ b( A4 T/ a; D0 d $dest = $CONFIG->basePath."data/files/".$date."/";# P1 q/ y8 y9 b2 z7 f
$COMMON->createDir($dest);
* J( [5 a0 i# X  c0 s$ P6 W* H //if (!is_dir($dest)) mkdir($dest, 0777);: S* A) J1 H. d* W
9 u+ f& P. |8 m/ ]. C. [( |
$nameExt = strtolower($COMMON->getFileExtName($_FILES['Filedata']['name']));% J% T. `( A# F. s9 B! R4 F
: |$ X* n: a9 B, Y$ K1 W& U5 [1 w
$allowedType = array('jpg', 'gif', 'bmp', 'png', 'jpeg');
5 M; n. e5 t3 s; l % E: p2 X' \4 {! F
if(!in_array($nameExt, $allowedType)){
* ], M- h' F; t' x1 }5 q! g  $msg = 0;' Z6 j( i. z4 {9 ~% {; U5 f
}
. _3 r8 e/ r7 ^7 O  @% p1 r) F if(empty($msg)){- u" s* c/ X1 T2 e$ e
  $filename = getmicrotime().'.'.$nameExt;$ U9 u2 l8 V" |- G* F& `  x9 L5 E
  $file_url = urlencode($CONFIG->baseUrl.'data/files/'.$date."/".$filename);& a5 A7 `5 p) _# X- o
  
+ V' n1 s9 Y1 P) I  $filename = $dest.$filename;) ^$ \; c# K0 z" M6 i' K
  if(empty($_FILES['Filedata']['error'])){& J0 g9 p2 e: d3 d% n. |$ n
   move_uploaded_file($_FILES['Filedata']['tmp_name'],$filename);
5 r  Y2 D! X9 D9 O  }
* z& F0 v, c0 M7 r  : s- J! w. [' x
  if (file_exists($filename)){+ D) Q& j7 ?/ [. L& t
   //$msg = 1;$ }7 }6 k* E# H: d5 ^' S) u3 q) V& R
   $msg = $file_url;
- S! j4 m; U3 R8 T7 H   @chmod($filename, 0444);
* E5 i! ^0 H' E0 K) W  }else{
: ]. }4 a1 l' y. k& n: ?6 q; K   $msg = 0;
* U  Q( R" a+ k! v9 n% Q. m4 i  }
/ x; [! F, `: `2 s" z }$ ^$ A$ H7 Z/ K2 r0 q( I5 q$ S; D
$outMsg = "fileUrl=".$msg;$ y/ u; T" p% C7 e' E) r+ Z0 u  K
$_SESSION["eoutmsg"] = $outMsg;
3 G6 Y" x# R) k9 M, a6 b. W. F exit;5 c& B# S: ]1 z, _! G
}else if($operateId == 2){
% o9 o8 i) J! p( m& G2 A: @1 K $outMsg = $_SESSION["eoutmsg"];" {0 ~6 w7 k; y7 s6 y  p% l$ A. r
if(!empty($outMsg)){
# b$ G- G% D9 c7 E! A  session_unregister("eoutmsg");
8 T+ V7 s) ]1 y9 [; w6 R0 C3 c$ @  echo '&'.$outMsg;5 \' x3 ]; M! x8 l) m, G9 }
  exit;' ?0 Z8 p3 h/ `6 P
}else{
0 F; k& f( m+ f. G+ f0 S$ T; [  echo "&fileUrl=0";& ~& a+ B5 q8 _- z6 j0 `4 E7 b
  exit;
# f: [$ t+ p" v2 a9 h5 G. t }4 V" K+ G9 E7 m2 ~
}0 g0 C1 T9 H0 x& c2 I

6 X( U9 E, [) E: e+ bfunction getmicrotime(){ + l) E6 C) _; P2 [6 E2 D1 P+ j1 R; d
    list($usec, $sec) = explode(" ",microtime()); - P9 y2 u% U* E: X2 C- E
    return ((float)$usec + (float)$sec); . H& F9 d$ f& V/ ~5 t
}( T) b& M! N9 h5 o& v* Z& e

# a7 J0 g- j: z6 }?>% s  V' M% ^: f
回复

使用道具 举报

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

本版积分规则

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