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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:51:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<?php6 f: c/ N/ a, Q2 l' a
/**
' u7 `4 ]) w4 A% V * uploadFlash.php7 P$ Z' T4 j8 E+ S% T
* Flash文件上传.
6 f. b" w" G& ^+ t+ ]; R$ c */: v( m* h. [9 {! {  P) r$ A
require_once('../global.inc.php');
7 K/ s6 A7 U$ j: y3 T( O. T; i& c2 c- c
! F8 l, v: n+ i& {) |//operateId=1 上传,operateId=2 获取地址.
8 |" U' V* H5 J3 D  I1 D) q$operateId = intval($_REQUEST['operateId']);
) @7 I* z/ k/ [  @9 W' b' n4 e3 A+ h9 m# gif(empty($operateId)) exit;
+ G' M/ J, U% t$ k& o. U1 R, f6 v% O5 V7 b5 Y' [. y
if($operateId == 1){% Q/ ]/ Q7 i; U
$date = date("Ymd");9 `  a1 m) S% s8 Z$ f6 F
$dest = $CONFIG->basePath."data/files/".$date."/";
1 m% T3 i5 e) r3 N4 W9 K $COMMON->createDir($dest);( o2 O; f8 T+ N' u) Y
//if (!is_dir($dest)) mkdir($dest, 0777);
2 Z: T$ r  |, _  A- |: z; S. E* r, | - i* N% m* m! g1 V9 l
$nameExt = strtolower($COMMON->getFileExtName($_FILES['Filedata']['name']));
4 a: b2 q$ b  I5 P- C2 u& h ) F! _( {4 d* G" D  r
$allowedType = array('jpg', 'gif', 'bmp', 'png', 'jpeg');
  b4 K; p: E8 R/ }* n! H ; P, Z# n' a, D+ O) s  L' w9 i
if(!in_array($nameExt, $allowedType)){
, S$ c+ X0 o1 ~$ U" u  f$ ~+ e  $msg = 0;
' O1 Q: U) o  Q* P }
. [( A" O# M) P7 w  s8 Q if(empty($msg)){
2 C2 p) g0 r, `: Z* o3 {6 q* U  $filename = getmicrotime().'.'.$nameExt;2 ^2 y- A& |4 [2 p; t1 W
  $file_url = urlencode($CONFIG->baseUrl.'data/files/'.$date."/".$filename);. X$ D6 P9 f; o- y1 y- _* x: b4 O/ o. |7 G
  
: q2 m: s& q/ e3 f. `" M( j8 y3 _  $filename = $dest.$filename;
$ ?" d3 [$ t0 K7 z  if(empty($_FILES['Filedata']['error'])){
4 V) u9 Q2 ]# k9 a" a   move_uploaded_file($_FILES['Filedata']['tmp_name'],$filename);, i' q; E9 h+ y; B' t
  }
( O; y4 R: h: T$ s0 w$ l" y8 L3 h  & g( f! R9 g9 s9 z5 m. M
  if (file_exists($filename)){, Q$ k, {2 Z2 C1 x/ n& {* u
   //$msg = 1;
" g( z' Z9 m4 w+ y8 H! W. g   $msg = $file_url;1 p# @# y$ h3 `/ [
   @chmod($filename, 0444);0 `$ W) F" g" H1 v3 a0 D, p
  }else{, _* {8 b6 M0 N: r3 k
   $msg = 0;
' q$ {! ]3 k! D6 K  ~* E8 M* z2 u  }. K5 t/ ^- s/ f, p# {
}
5 _, R4 T9 ^6 j8 E $outMsg = "fileUrl=".$msg;
8 ^8 X- u( Y6 F0 `" b  o $_SESSION["eoutmsg"] = $outMsg;: f: n7 S) ?! J- Q  @
exit;  z# C+ L; D& e( s
}else if($operateId == 2){# i! f3 j9 x5 ^: V. w) J
$outMsg = $_SESSION["eoutmsg"];
8 R; f) V7 t; q5 n( \% y: `9 Z if(!empty($outMsg)){
/ E- Q0 s1 t- @4 m* a1 d+ ~  session_unregister("eoutmsg");
- c# F3 I; D2 m% V$ E/ }( }7 q  echo '&'.$outMsg;
) l* u& T2 P3 I, S) h  exit;8 S1 |8 L4 h2 b1 g
}else{
! q% r% K) {# s( a6 K6 w  echo "&fileUrl=0";" c! T4 r8 W6 x, g% [4 H
  exit;& V* X% w7 L' S: a& f" G: ], q. O
}
8 w8 C% a7 A# [" ^) P}5 U, c% u; ~  L3 b- r6 x

  R) X! e$ C, ~* Q- zfunction getmicrotime(){ - f4 B) A' e8 m( U4 |
    list($usec, $sec) = explode(" ",microtime());
/ ^! V) T1 x, M; z( X    return ((float)$usec + (float)$sec); $ o: F7 e: Z  K  E8 I9 M  ?$ z
}
* d, y; L- h5 r5 v9 g
0 @; L1 T: W2 k?>
9 a* J# i7 Z" _/ @
回复

使用道具 举报

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

本版积分规则

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