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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:51:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<?php
3 t' K$ R& \/ }2 m& }" U/**
6 K! g+ p% x0 q8 d * uploadFlash.php
- Y  Q2 E6 z: j1 S * Flash文件上传.
: p0 f. V* z* e# y$ i3 T */2 m0 a) [! d; V3 o
require_once('../global.inc.php');: h8 w7 T' F' N: n

0 @& `! d; j' H" X6 i//operateId=1 上传,operateId=2 获取地址.% |, U- y7 G$ I' W2 p( I
$operateId = intval($_REQUEST['operateId']);1 T$ \+ K: `8 p. }
if(empty($operateId)) exit;; W. g* W% z" ^% e
) {4 y; I: V/ Z  N6 ^" C
if($operateId == 1){
, n1 y, U( g- J( p" ^7 J" X+ Z; H, p $date = date("Ymd");6 k- ?  O. O$ W0 K) y. k. q- L3 X* D
$dest = $CONFIG->basePath."data/files/".$date."/";' z" D! K0 M* q2 t6 V% S9 n" m
$COMMON->createDir($dest);1 S# B! w# I& m" D2 e
//if (!is_dir($dest)) mkdir($dest, 0777);
: C/ e' ]5 k3 ~8 j( b
, e  Y5 B/ p) f $nameExt = strtolower($COMMON->getFileExtName($_FILES['Filedata']['name']));
: T  U, _" M! ^( B+ t
/ a3 l0 v) _6 R0 k, A $allowedType = array('jpg', 'gif', 'bmp', 'png', 'jpeg');5 l2 s: A! Q0 p& K  k; G. t
, v7 `9 J# ~% v- E! E+ A; k
if(!in_array($nameExt, $allowedType)){2 V& J1 H4 F, T# d: B, S' |
  $msg = 0;
1 \* P  ~" |- _ }
& v2 i9 l1 G- A" q if(empty($msg)){; `% r3 ]  y7 h
  $filename = getmicrotime().'.'.$nameExt;9 a9 C  I7 r' g* ^9 u
  $file_url = urlencode($CONFIG->baseUrl.'data/files/'.$date."/".$filename);
. a, w* d' U& V) r2 O4 p  
! Y2 Y2 U9 t3 v' |7 [5 Q  $filename = $dest.$filename;
+ U/ R+ u7 F. Y: z2 ^8 k) b  if(empty($_FILES['Filedata']['error'])){
1 L! s6 J. `8 Z2 k; {. ?9 ~$ }   move_uploaded_file($_FILES['Filedata']['tmp_name'],$filename);2 r) A; H8 T) g
  }
9 g! k4 W. ]! e7 J, x2 f4 f0 f0 ]  
8 f' f& q' l1 a* a0 y+ D  if (file_exists($filename)){
1 _" t& E6 @7 x- |# @   //$msg = 1;( e2 `# J. T& ^" @" `! j% B
   $msg = $file_url;( E4 F/ w$ P& ~: r* T( O  Y1 g: K
   @chmod($filename, 0444);8 i. i0 I( y" E1 V
  }else{3 K8 E- J' }" z, E- Q
   $msg = 0;, E! z8 Z% P0 g) A" U
  }5 ]' H$ a( g, h: ^# @
}: y* \' {* q6 ^& f
$outMsg = "fileUrl=".$msg;
  ^1 w6 r' w2 |0 k1 S' l8 Z9 k $_SESSION["eoutmsg"] = $outMsg;
: Q/ U: R- E; P' I exit;
7 A) P& b, {3 H2 E4 v}else if($operateId == 2){
# A4 @0 c* L7 a, b3 N& F $outMsg = $_SESSION["eoutmsg"];/ b7 u5 }4 T7 ~' D7 b
if(!empty($outMsg)){
  f/ H/ S) i9 @, T( h  session_unregister("eoutmsg");
: A2 g- o& j$ @/ V# q! a7 V6 Z  echo '&'.$outMsg;3 d9 i& B% s) x* d/ I, |! S
  exit;2 u7 l* _; U" `
}else{
: F; o+ O% p6 E' [) f3 o  echo "&fileUrl=0";
7 l8 ]% E! {  g" [, ?! C. H6 [  exit;
- T5 T5 E/ a$ t2 i }
+ W( W) |0 {& g+ X$ s7 `}
$ x% {) M; \* ?5 O6 x" t. Z2 F, r/ Q, T
function getmicrotime(){
1 R9 F! V( z. Y0 ]    list($usec, $sec) = explode(" ",microtime()); 5 L* x+ @/ _+ n4 a
    return ((float)$usec + (float)$sec);
& e5 F5 T4 I" v+ k: F: }}3 l# F" J; E: b! U( u

+ r$ n$ G9 e+ n6 F3 J( i4 Q?>& a9 F; p5 l4 y: T
回复

使用道具 举报

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

本版积分规则

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