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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:51:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<?php
9 i. L4 V, c2 K' u* ^# M/**
8 b. }5 }* L( o2 B * uploadFlash.php
4 C7 V) ^5 K! |7 B: g% C' k( x * Flash文件上传.* a9 x+ M* F3 g- O
*/
" I5 C" v' q0 Y9 xrequire_once('../global.inc.php');
9 h. _7 O' g( q! {  r/ W
2 l- H; C' R8 G2 b! j- X//operateId=1 上传,operateId=2 获取地址./ t) w4 l; p/ G0 ?6 t4 D  O
$operateId = intval($_REQUEST['operateId']);8 h% a( g2 e0 b4 b0 M' i
if(empty($operateId)) exit;( n$ ^: p3 ^9 b
. j% t1 u' o% b6 w) P) j
if($operateId == 1){, k2 v( ?' G2 `: R) W* h
$date = date("Ymd");
# ?) o1 C5 ]6 Y4 x $dest = $CONFIG->basePath."data/files/".$date."/";
! L( b% Q3 n! v+ b2 s $COMMON->createDir($dest);9 n! l9 u& c- V8 j7 h3 J' ]8 A4 u& @
//if (!is_dir($dest)) mkdir($dest, 0777);9 G. Q) `7 q" _  b- o

& t1 j# Q7 y+ n4 o3 A $nameExt = strtolower($COMMON->getFileExtName($_FILES['Filedata']['name']));+ ^( V( W/ Q" g) D4 D$ D+ j* P3 \
1 V% l# E: C9 e0 T  U$ n/ ~, [
$allowedType = array('jpg', 'gif', 'bmp', 'png', 'jpeg');5 K3 E3 ^2 ~- |+ o! q% T% \* m

8 X) @& H0 [2 |! f- G. _ if(!in_array($nameExt, $allowedType)){
2 [- `. }- Z% v5 ?& D, x1 I4 `  $msg = 0;
- {7 z0 a$ i: W5 l; P }- ]+ \( L6 Q/ B& Z
if(empty($msg)){4 R2 l) t  ?% i( P
  $filename = getmicrotime().'.'.$nameExt;9 t; q5 J! }4 ^& R# w+ R( A
  $file_url = urlencode($CONFIG->baseUrl.'data/files/'.$date."/".$filename);7 S6 O4 Y& d( y- m
  - }/ n( s$ P* S8 q7 _) U. ]
  $filename = $dest.$filename;; {* ?; S4 J- e$ l5 N3 @
  if(empty($_FILES['Filedata']['error'])){
0 I# ^' J8 \- |3 T3 {4 H/ U   move_uploaded_file($_FILES['Filedata']['tmp_name'],$filename);
( c6 V& E% U9 R+ k! K6 I5 l  }
$ I6 T/ _$ K( B0 l0 h8 K. |  
) j7 q/ v0 K8 I- P  b  if (file_exists($filename)){
% R$ V0 Y  j! J# H. x   //$msg = 1;# H. q# r, D/ J8 U* ?
   $msg = $file_url;7 M% N* J. t4 {; f! K9 w
   @chmod($filename, 0444);
+ ?0 A3 M: _3 ?  }else{
+ V$ x- n  _" f9 n) C6 i   $msg = 0;
$ \  V. g& f# G$ D. s# [  }
; X# Z- j6 m- |( }' n3 h( n }' h, W: {( j3 B- z: ~9 o' t
$outMsg = "fileUrl=".$msg;
: \+ B* {/ u0 `3 V4 P $_SESSION["eoutmsg"] = $outMsg;
: Y, z" c0 O2 S* G7 S: @; }! s8 y exit;. S# n) j- y9 ]3 I1 [8 M8 j8 J! Y
}else if($operateId == 2){
4 n: C1 T+ q5 z% ?, X: g $outMsg = $_SESSION["eoutmsg"];: u  q4 U+ p1 r4 g1 I: n' p
if(!empty($outMsg)){, t& N4 s) w# M0 Q: v- @
  session_unregister("eoutmsg");
$ ]4 e4 k: I5 z3 K, \  echo '&'.$outMsg;5 s2 J+ r. P( L5 r# R' w- V
  exit;
. t8 `$ }9 T) s, P$ [6 {7 C! _ }else{) h; c/ L+ X: @0 x0 o, V
  echo "&fileUrl=0";
+ g+ J1 m2 p- A7 i  exit;4 t% h8 T7 q5 R: z7 B6 t; \$ Y
}9 t' B) O! F  p1 ]* ~
}& R/ {* M/ Y- J% c# H
  i" }( ^) x# v4 G. K1 v9 R
function getmicrotime(){ 4 [1 n+ @, x8 p9 o/ E
    list($usec, $sec) = explode(" ",microtime()); 8 ?8 z# u% T9 U5 t  I, E* J
    return ((float)$usec + (float)$sec);
. J: l" J+ a, i' M0 _}5 G- @' G& D* n# X: d; G

. u) @8 \! d0 ]( _- _?>
( C+ p; A+ _) K+ y& \' `  i' k
回复

使用道具 举报

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

本版积分规则

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