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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:51:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<?php8 ?6 N$ |9 ]7 w+ }1 D( r1 B" Y5 I9 A
/**5 X5 h! x( a' t, u; j
* uploadFlash.php
$ B( A; M/ t5 z; U" ^ * Flash文件上传.5 W. D* E/ z# }' {) A
*/
. M7 t1 Z9 L' g) @$ mrequire_once('../global.inc.php');
. ?) F8 M( D8 q9 z4 J! y4 l/ ]  v! N1 h6 H. _: ^
//operateId=1 上传,operateId=2 获取地址.
+ n3 S+ z3 [. s1 Z) O7 b! c$operateId = intval($_REQUEST['operateId']);9 L5 }( S3 H! b% j
if(empty($operateId)) exit;, z+ }) S: f/ o' R, s$ ~7 W6 W; ?: G

# U( H# \5 k( Z' h: }; e! Qif($operateId == 1){
0 ]4 o3 L, H/ u) Q3 k% ^ $date = date("Ymd");
+ [- u1 Q- N0 X% ?7 V $dest = $CONFIG->basePath."data/files/".$date."/";
+ G7 h# l3 S5 V4 t $COMMON->createDir($dest);
/ P: E# E- C9 [) j# W' q //if (!is_dir($dest)) mkdir($dest, 0777);1 r4 n; {0 i' h
- }  |6 g2 P  C) y7 T3 x2 V2 r
$nameExt = strtolower($COMMON->getFileExtName($_FILES['Filedata']['name']));
% a) h) P9 [, u, g* e/ K8 c/ T7 m
5 u! S  h9 c. p) [; E, k $allowedType = array('jpg', 'gif', 'bmp', 'png', 'jpeg');! J/ S# R# d7 r- J$ p2 \
8 f6 @& e0 H3 e' Y9 b
if(!in_array($nameExt, $allowedType)){
- t9 a8 l9 I% s: i% R  $msg = 0;
) f1 z; m& N: T* W }" V9 H3 s& p( F% v) V5 W5 d8 G! w1 e; A
if(empty($msg)){
9 v# l& X& [9 t* Y& a% W  $filename = getmicrotime().'.'.$nameExt;9 T9 x" l( D1 X+ r% @0 F4 q( P
  $file_url = urlencode($CONFIG->baseUrl.'data/files/'.$date."/".$filename);; a7 A1 y! U2 O. y, ~% Z  N
  $ a& F3 _* y: U
  $filename = $dest.$filename;
/ y1 Z- Z& C0 b! V  if(empty($_FILES['Filedata']['error'])){
  P+ S6 g9 K/ @. f3 i/ P   move_uploaded_file($_FILES['Filedata']['tmp_name'],$filename);2 A# D8 N% C- b; n3 ?- J0 h- z
  }
! ]! m$ a. F- T  $ ~. }/ r6 n  P
  if (file_exists($filename)){$ [$ \1 |$ S* l% J/ Q& \) {
   //$msg = 1;
& }- f7 I" W; x' W: @   $msg = $file_url;8 @. c6 G' `7 J( U
   @chmod($filename, 0444);! x; B# e7 Q1 _- p+ G( r
  }else{$ n  O5 p5 ?4 k. D% |  X7 ]( @
   $msg = 0;5 j: l2 [* e+ Y% N, ]0 [
  }
3 H0 C- @- X4 R' E! y5 V1 @ }
+ [$ `6 b. @4 B& l+ H $outMsg = "fileUrl=".$msg;2 Q, a7 |! q8 w) G" Z
$_SESSION["eoutmsg"] = $outMsg;( Z8 `3 `5 @5 Z
exit;! N2 T9 ~9 f5 }5 I! J; r$ |* a5 d
}else if($operateId == 2){6 |% S1 v" y- _4 \9 A6 b
$outMsg = $_SESSION["eoutmsg"];7 ?$ ~. A4 Q# R3 x) U
if(!empty($outMsg)){
. }% ]" m- w1 x' p  session_unregister("eoutmsg");
- c3 a2 ]) W: m. Q  echo '&'.$outMsg;, O# Z$ Y. o$ Y9 y1 q
  exit;
( d: y" o6 N6 C0 I/ f }else{
9 ]6 A: W; }0 q; V9 J  echo "&fileUrl=0";
( K. S" O7 Z/ j8 Z+ o4 W1 t  exit;
& J- e/ P9 N6 q! k  e. I }4 A7 S# e# G' `& e, [: I: ~
}% W) r! E, J# k/ b5 M( J
+ q- Z' ]8 W0 W% `2 y
function getmicrotime(){ 5 q5 I2 Z/ [5 J- T0 S+ ~
    list($usec, $sec) = explode(" ",microtime()); 0 b* R; ^" ?: x3 S; _
    return ((float)$usec + (float)$sec); - n. H5 ]5 O3 z8 r/ B  j
}
7 o# `" i4 ?7 [1 g3 P) h% @' ^& ~; {0 i( E
?>$ j9 a5 H* n: C& s+ x5 k
回复

使用道具 举报

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

本版积分规则

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