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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:51:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<?php
0 P0 B" G  d/ S) R1 W1 P/**
3 \- j2 t& z7 I * uploadFlash.php% G% ?. h* T  {- s4 u
* Flash文件上传.
2 g! n7 j4 Z( ?0 ~2 d1 C2 [( Z */
( \% I9 c1 P! |1 `& U  Rrequire_once('../global.inc.php');# R4 y# i& Q$ h4 y; F1 G) P! O, V2 H

( i5 q9 P& }# Z: }# f. P* W  ]//operateId=1 上传,operateId=2 获取地址.
( }) L7 ~) m! J3 A- z0 d# B$operateId = intval($_REQUEST['operateId']);
0 a2 |" g  t( J* X- K% Pif(empty($operateId)) exit;
' }7 n: l+ _5 d) c7 C( l* ^2 Z7 O# e/ E: T
if($operateId == 1){
/ b- \9 Z* D4 V$ \; W- l $date = date("Ymd");
2 @% l' f. \' M3 }- T $dest = $CONFIG->basePath."data/files/".$date."/";2 F' a2 \: U0 f4 j
$COMMON->createDir($dest);* [, Y5 }) |8 ]3 B$ e, a) L* B* i
//if (!is_dir($dest)) mkdir($dest, 0777);
3 r. k& n, Z8 D! q ' }2 \% _' o1 E5 w4 L
$nameExt = strtolower($COMMON->getFileExtName($_FILES['Filedata']['name']));
) ~7 F3 w) t, ]; V( d 0 x5 ^" \: s1 g' I" i
$allowedType = array('jpg', 'gif', 'bmp', 'png', 'jpeg');' I5 d" t$ i2 U( Q2 M4 x' N

+ s/ T' Y- C4 h! n! V if(!in_array($nameExt, $allowedType)){
& N8 A/ k1 J. O7 R; c  $msg = 0;
# k) s7 D/ h, T }3 ]- I2 T& h6 M& R
if(empty($msg)){# X7 n8 C7 f; n
  $filename = getmicrotime().'.'.$nameExt;/ n. P  X- h: d
  $file_url = urlencode($CONFIG->baseUrl.'data/files/'.$date."/".$filename);
: h2 }* M/ W+ [- Q6 y) l# v  & o7 N. C0 G& e
  $filename = $dest.$filename;
7 R3 ]! W5 R) g* n2 E  if(empty($_FILES['Filedata']['error'])){) g1 V; k3 ?: ]) e3 v# T3 M0 k- L
   move_uploaded_file($_FILES['Filedata']['tmp_name'],$filename);' Z+ x+ c( S! S% C+ m
  }
7 x/ x$ ~: |# X6 u5 _  w$ }  % e. z; e. G7 O
  if (file_exists($filename)){
1 N9 U+ ]+ l2 v- p) `2 F9 W5 R   //$msg = 1;
8 y  i4 F5 |) ^! K   $msg = $file_url;
# ~# o" m+ x5 U  l$ }5 \   @chmod($filename, 0444);7 C9 n5 D# }4 B5 m2 F& h
  }else{
2 n/ ]: H" [9 v8 ?1 i# @   $msg = 0;
; T+ a( M4 N4 S% o  }
" |' M/ j( A$ s" p, }. ? }3 C2 H; [( Y/ |. @" p
$outMsg = "fileUrl=".$msg;
7 C6 U; O+ a; D7 B( b $_SESSION["eoutmsg"] = $outMsg;
  ~! d/ g* ~8 s$ d exit;
& h5 a0 n5 {8 h( |7 r6 J! K9 @}else if($operateId == 2){
5 {  w, o/ }6 Y5 j. Q% k $outMsg = $_SESSION["eoutmsg"];! k# k$ V& g  R5 a
if(!empty($outMsg)){+ i2 m. F6 W+ X3 V2 L
  session_unregister("eoutmsg");
' a* K1 q7 k6 z2 x  echo '&'.$outMsg;
2 R% V/ T% R! G  exit;
2 r0 q. i3 @4 z) } }else{7 \1 s! n0 i5 \6 Y6 g  F. R4 h( Q
  echo "&fileUrl=0";
  k2 f7 `0 l: c; c1 M  exit;5 `4 G' p2 X$ [+ e. q' r
}* Q: \% o8 ?' D# k# K, |0 w% j0 Q* i" i
}1 K2 C/ Y3 [) j5 b# \, _
0 y% `: L' w8 l% r9 r' Z
function getmicrotime(){ $ \& _7 o  M& i# r* C" Y9 _- l
    list($usec, $sec) = explode(" ",microtime()); , }; f; V- b0 a1 V& ]. W, p" ~
    return ((float)$usec + (float)$sec); 3 Q  J* s' C. Y# k3 |/ R
}' \1 h1 P$ u8 I( q% [$ C: F* T4 o! n
0 t# L0 C0 h5 x6 q
?>. L" k& U; Q) k4 x/ p* a5 k, T
回复

使用道具 举报

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

本版积分规则

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