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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:51:07 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
<?php2 P' G! H! e% c/ o1 ~. E% p$ @
/**$ {  b9 w4 z$ i; i+ j0 m! q$ T' y, j
* uploadFlash.php  x: F) J5 d, e2 ?
* Flash文件上传.8 j6 \( p" ^( {9 Z
*/7 ]' a5 H8 r+ B) V
require_once('../global.inc.php');
' ]5 x" K* W5 l' C
9 F! R) t1 z- _7 I+ O//operateId=1 上传,operateId=2 获取地址.) \6 d+ s3 V: p( E
$operateId = intval($_REQUEST['operateId']);$ |, |. D- u- W( `# A# E3 f$ G
if(empty($operateId)) exit;
- i9 B  z1 f; o
( ~( B* u) I: Y. Z# Wif($operateId == 1){
9 }% w( N# B& h- F  Y) _$ s. w) @ $date = date("Ymd");0 n$ F6 Z2 u9 d& Z$ O- {+ o; V; v$ G( [5 {
$dest = $CONFIG->basePath."data/files/".$date."/";( q6 s- C8 ?5 }3 J( c3 u& T
$COMMON->createDir($dest);
9 r; i( z  @6 U //if (!is_dir($dest)) mkdir($dest, 0777);+ |. y% @! _! J
) e9 ?/ S- I% E& e7 f  q: r! F
$nameExt = strtolower($COMMON->getFileExtName($_FILES['Filedata']['name']));
7 B6 q' S; n1 F& A$ q+ G
1 }: I9 `( A2 F$ Q$ y8 c $allowedType = array('jpg', 'gif', 'bmp', 'png', 'jpeg');6 w9 o4 b5 j# S, x8 Q6 J) g7 H
2 O+ O4 [9 j6 U$ j3 P) D$ s7 V% o# ~
if(!in_array($nameExt, $allowedType)){
' M6 a, @7 U0 ]+ Y, N- G  $msg = 0;# o9 }5 J0 z2 N# v- Y
}- v5 {3 V" `& t- h2 g0 o$ K
if(empty($msg)){
+ E* N7 h# t' \9 z% Y  $filename = getmicrotime().'.'.$nameExt;
5 I. O% M' s' Q5 G: W  $file_url = urlencode($CONFIG->baseUrl.'data/files/'.$date."/".$filename);8 u# `4 M, e$ ~! Q6 n) V
  
. r+ S$ w0 }3 M7 V1 `  $filename = $dest.$filename;
, c+ U) T5 T5 v- l+ h4 B# w  if(empty($_FILES['Filedata']['error'])){
# S; p8 J3 G- o) v: D9 Q   move_uploaded_file($_FILES['Filedata']['tmp_name'],$filename);% q) M% `$ Z, P7 ]& {
  }
3 u* g; K. q; x2 ~  
) ]- e. Q, h4 P, e4 T# X$ I  if (file_exists($filename)){* O3 w! T& O. }1 N5 F: s% ~% `  I
   //$msg = 1;$ h8 j; {: d  \  ]6 z) V  c
   $msg = $file_url;
- ?' R" C! S/ y) P4 I- T8 @   @chmod($filename, 0444);2 {( c" b: w% B( @
  }else{
# l$ m) `$ A, x$ U) K) K4 d& J' w   $msg = 0;1 o  s6 ~  Z; J$ w
  }
& v4 _, k4 T8 X7 g  U }' S! p+ F3 M, w7 P1 q. ?
$outMsg = "fileUrl=".$msg;
/ {& g8 \& |3 `; O8 _ $_SESSION["eoutmsg"] = $outMsg;
/ C# Z7 B' I  f& f exit;5 o# \5 b$ F: J% k$ M/ X3 F3 x! k
}else if($operateId == 2){$ F& D% s: u1 m# a
$outMsg = $_SESSION["eoutmsg"];
7 z& Z" t$ |; r5 k% a if(!empty($outMsg)){$ ^& f6 E- d! \" s! S; S
  session_unregister("eoutmsg");  t) Y6 V' h, e6 K' e4 _
  echo '&'.$outMsg;
5 v9 U% Q2 q, E2 O* C  exit;
2 V; m/ ~4 `* m" _- P8 s: _* b }else{
( v. F% U/ |- o! r/ c8 i1 n  echo "&fileUrl=0";
; k) N& o; U4 t* g- K) Q  exit;
+ r! A" I9 f/ Z; d' T! t }
/ L3 c0 A1 T; k- i* e% W4 {- F}
8 |* x) X8 Z1 l& |$ D, G+ b. R7 u) e% o
function getmicrotime(){ ) n# w. Y" @6 }: a
    list($usec, $sec) = explode(" ",microtime());
4 m5 F  \9 l0 d; |    return ((float)$usec + (float)$sec); " H. D  I+ x) c/ U$ _( X) e
}
3 v/ h2 v0 q; \0 I3 ^* p, C( \
. s' N' a7 T1 l! X: ^5 D- W?>
0 K& R/ Y- m- Z! E
回复

使用道具 举报

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

本版积分规则

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