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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:51:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<?php- y' K1 Q) l2 o6 H/ s+ C9 u% ?, a
/**
, d+ z: q5 h3 M5 l* R& t * uploadFlash.php
% [% m. T- O6 S' | * Flash文件上传.( n3 v% m8 o; W- j! J- \
*/
4 ~! h$ c3 d  S2 arequire_once('../global.inc.php');
" @4 @6 y. O6 s% H
/ D- |& J; W& f+ b3 f$ c+ v//operateId=1 上传,operateId=2 获取地址.
. w( n: S0 y% \/ H  @$operateId = intval($_REQUEST['operateId']);, T& ^$ D5 k" z4 p2 e  }
if(empty($operateId)) exit;
7 X; _6 w1 g2 s8 g! ?0 V
& ]3 p& B  A( vif($operateId == 1){
8 @% O) @" \  B5 p4 e' q $date = date("Ymd");
8 i& j6 F0 b: I1 j; o $dest = $CONFIG->basePath."data/files/".$date."/";
2 j2 f7 h7 I7 \% Z! X+ D $COMMON->createDir($dest);
4 D. P# Q$ G* S* H1 {1 Q; o //if (!is_dir($dest)) mkdir($dest, 0777);
5 O1 Z3 u1 o/ [7 ?; N3 _1 x 2 U0 z% i, v$ M+ c7 C. q: ^, n6 M7 m, e
$nameExt = strtolower($COMMON->getFileExtName($_FILES['Filedata']['name']));3 v( Y7 L% @+ c$ |

% L8 K) R: X" F! C% U+ F& a $allowedType = array('jpg', 'gif', 'bmp', 'png', 'jpeg');
/ w2 w& _5 N  w: m& G2 q7 D8 t1 }
2 ~* i- l1 S+ Q& J if(!in_array($nameExt, $allowedType)){
" `& T0 ~! h9 [0 _2 a  $msg = 0;
3 {; G. ]" V: e8 c9 p* u' h: q }
9 p3 v4 [# D) a7 i: k( o if(empty($msg)){4 n) F7 G% B, w' y  L
  $filename = getmicrotime().'.'.$nameExt;- A' t# e' Y& n3 Y9 G- ?% g
  $file_url = urlencode($CONFIG->baseUrl.'data/files/'.$date."/".$filename);
9 |7 G# O/ B. R  ?5 z$ G( C  
+ Q4 _$ E; t- I" F' z* p: c  $filename = $dest.$filename;
, W7 w9 p# f4 U1 @+ ~  if(empty($_FILES['Filedata']['error'])){
: \' @/ `. |" S, r0 J) a0 ~   move_uploaded_file($_FILES['Filedata']['tmp_name'],$filename);
0 g: Z1 H: _; w+ z# \  J  }
. p  {8 u, Z3 S/ @  ?* Z) o  5 M, m5 a# [1 }7 j/ K
  if (file_exists($filename)){
+ R! k, `: K1 g" W# L" q( l9 s   //$msg = 1;' Z$ s" x  D- c# K2 }" u! y6 X
   $msg = $file_url;
2 E3 }: `- q! J4 K, j   @chmod($filename, 0444);
; X$ C3 J$ w* f  }else{
* _/ Z+ A; d$ Q* J4 Y   $msg = 0;
8 m2 @' o) U* z) v3 B+ N0 L  }" J: h3 _9 i% t  F9 z7 k
}/ E0 I2 O& ^! L1 D$ v, t
$outMsg = "fileUrl=".$msg;
: r+ b. g, d: V3 `& W& p $_SESSION["eoutmsg"] = $outMsg;
4 X! _3 D" Z! o( [, L5 j exit;
8 o1 [  h3 c9 E$ ^% v* @. r}else if($operateId == 2){
2 X5 R+ T8 i) U$ N  F4 M $outMsg = $_SESSION["eoutmsg"];
3 b( q8 W- G# G  ~3 u if(!empty($outMsg)){
% O" m0 S5 y) ?; p. ^  session_unregister("eoutmsg");
1 X% j9 r0 V+ u9 h) n  E! ~/ \  echo '&'.$outMsg;7 q; f3 J2 L1 m* J& K+ I& V. \# s
  exit;
& z7 n# S! \( L }else{
  p7 B; N# A( K0 r  echo "&fileUrl=0";& j+ X8 {. ^2 A& G
  exit;
2 P1 l" N8 u4 Y! @# R$ I% P+ n' D" B }
0 X' M% Q$ H$ Z5 ~* ]; G3 }+ b}
" `) i$ t- {& \, k7 y2 ~1 }& i+ Z. t* i& Q: i; ~
function getmicrotime(){
6 ^8 v+ n/ g6 k0 u* b    list($usec, $sec) = explode(" ",microtime());
' w: A0 E! a0 \: ~2 Y' j    return ((float)$usec + (float)$sec); 1 X( c) G- ^7 G% V9 W; S4 n
}5 x$ Y  K& {! t+ O( i/ D2 x$ g9 ]
# q. w! t5 V9 H: _7 N1 n
?>4 n2 {( V- [; V% F1 |
回复

使用道具 举报

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

本版积分规则

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