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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:51:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<?php
4 y( C1 u. z& ~% h- G/**
- I- g! K" n! u$ {5 o- e * uploadFlash.php
( ^4 u% @0 B" O' { * Flash文件上传.
$ }& x- k. U7 u */( j* W! ]2 q# W' e2 h# m
require_once('../global.inc.php');
' P- y8 ?8 {, ?, r/ K3 ]6 D3 O$ Y& z/ }, F* e+ ~( K+ O$ S
//operateId=1 上传,operateId=2 获取地址.
1 _$ Q7 M, q' I$operateId = intval($_REQUEST['operateId']);1 T# y; l% Q8 r9 D# G. l7 g
if(empty($operateId)) exit;( q1 w# ?- T7 I& f+ ^
# \$ w3 Y2 B. S3 I+ z0 J0 T
if($operateId == 1){
3 t. H# J* [( C $date = date("Ymd");, ~! T& K, a) B- C8 ~* A8 S8 G( I
$dest = $CONFIG->basePath."data/files/".$date."/";
" c  {0 m- C; j $COMMON->createDir($dest);& s; B3 a; Q# a* q7 U# ?' E
//if (!is_dir($dest)) mkdir($dest, 0777);/ k% Z8 R! J. Z6 v% Y* \, C
1 |: d) ]2 Q3 G% ^
$nameExt = strtolower($COMMON->getFileExtName($_FILES['Filedata']['name']));* c* q( J* y% S4 ^- k

! q/ z0 Y3 t4 Z8 h) f% X7 G $allowedType = array('jpg', 'gif', 'bmp', 'png', 'jpeg');+ K7 n  ]9 J9 H+ j. G( _6 ~  y
: W. n4 N5 F* d, l9 j- m2 H
if(!in_array($nameExt, $allowedType)){
' F. K  I5 |# f6 M! a  $msg = 0;
/ Y' @- P# j. N' b; z" M0 `- W6 _" L }9 v" ?" W( P3 |! A0 r' p! B
if(empty($msg)){. Q4 n7 n& V6 w6 G8 m- t% K! S
  $filename = getmicrotime().'.'.$nameExt;
- P+ F+ |) x# t- u0 b4 s  $file_url = urlencode($CONFIG->baseUrl.'data/files/'.$date."/".$filename);, j' q" z9 ~! n( |' h8 V
  % p, r6 l) P& @- o" o
  $filename = $dest.$filename;
: n1 R/ d' U9 I0 w( B" X  if(empty($_FILES['Filedata']['error'])){, L4 f3 U5 c: g6 R9 S) o) ^
   move_uploaded_file($_FILES['Filedata']['tmp_name'],$filename);
$ C# [/ z! n( R/ }/ p- ]% o7 C- C  }6 F0 U  X$ c( j" M: q/ ~+ W7 T
  $ _2 R; q* h8 a. J, c, S- B6 w/ j7 Y8 n
  if (file_exists($filename)){+ o/ m8 y4 C$ {3 g! x5 b3 ]; w
   //$msg = 1;  _1 F- F$ }$ X1 V
   $msg = $file_url;+ C% Y; i( G( Y9 u2 z* ^% W
   @chmod($filename, 0444);2 M8 S+ t2 `" }6 y9 o: T
  }else{* y0 L( p  D* }$ R* e/ a) z
   $msg = 0;
% X; u+ ^" d5 V4 g3 `# v" ]! L  }
- U  @# D8 W- k# V1 N. k0 U }0 t8 @6 @3 y7 S- Q
$outMsg = "fileUrl=".$msg;8 z( Y+ r( S! j
$_SESSION["eoutmsg"] = $outMsg;( I5 b4 _5 y% T9 r
exit;
, j' U( a3 b) N- x) r& T8 c}else if($operateId == 2){
& H! a, Q# y2 j- T' [1 u  L7 p $outMsg = $_SESSION["eoutmsg"];
4 i  X' @) V, ?! h% I: ~4 _ if(!empty($outMsg)){
2 R* H) A' h" T) P  session_unregister("eoutmsg");$ R# g9 k$ X9 d9 n
  echo '&'.$outMsg;- Z; v' b. c- g; t0 ^7 L5 m( ~
  exit;
. `0 z" G1 m  L) m }else{
* P( ?- t9 V) x+ p! v( @  echo "&fileUrl=0";
; a: ?; M5 s1 E( n' w) y! x7 L9 Q0 `  exit;
" M+ ~1 P1 f7 e }% ]% |* p( T4 k- b
}: N$ |+ u/ U# Z* Y
( Y3 b! J+ i/ t2 f7 ]6 w8 Y0 F% Z
function getmicrotime(){
& J) a* t3 j" \, g  f    list($usec, $sec) = explode(" ",microtime());
% K' n" ?: R" j  k2 ]    return ((float)$usec + (float)$sec);
: y2 T& U& Z$ z3 w0 @}3 l0 e* q8 D1 w6 z

2 \8 D" [8 M! e% n?>
) L. O+ I8 N4 C2 [! [9 }7 v9 `
回复

使用道具 举报

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

本版积分规则

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