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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:51:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<?php8 z  d' r+ `* H& Z2 ?
/**
* j- z- V& f1 ]  i+ c  K1 I * uploadFlash.php$ Q) ]1 K( W# `. O! C: C! p$ R+ V
* Flash文件上传.  W, {5 A9 g) O7 Q$ @! j0 h
*/3 r. q" z( k1 |0 z
require_once('../global.inc.php');6 @. |- }  q8 K! T+ A" M' w. h

( k7 ?$ ~; s8 H2 y+ c//operateId=1 上传,operateId=2 获取地址.* m5 I1 Y2 Y5 n
$operateId = intval($_REQUEST['operateId']);7 {8 _  Y- ]3 d- R5 |, V! ~
if(empty($operateId)) exit;
" d1 t8 j* V. F6 h9 |2 E/ T6 a# g. S
0 u5 H& h% \+ F1 {if($operateId == 1){& D+ K7 i: t1 e2 s4 f& c* D: p' M
$date = date("Ymd");3 i0 N, O1 r2 S+ H- c3 T
$dest = $CONFIG->basePath."data/files/".$date."/";
, c  k% ]% U& |- q $COMMON->createDir($dest);
7 g' F  C, {3 ~( j! A4 k //if (!is_dir($dest)) mkdir($dest, 0777);
" t5 d: {2 l+ x7 i6 L 4 g7 h& L1 s2 M* J7 p
$nameExt = strtolower($COMMON->getFileExtName($_FILES['Filedata']['name']));
# r- e! o% ?! h) N5 X/ y7 M
) m' o" b1 _( r! @% n+ L% | $allowedType = array('jpg', 'gif', 'bmp', 'png', 'jpeg');% c/ n7 \7 A) n* V7 E  X& P
$ f/ B! j) t. i. j3 q% C
if(!in_array($nameExt, $allowedType)){
. b0 @: j4 O$ j6 P5 N# y- c7 |, E0 L  $msg = 0;
: ^5 p# |" ^6 z7 X8 [0 E }
+ g7 l; S1 p2 {& S if(empty($msg)){8 ]! k) U8 c& s. l( U
  $filename = getmicrotime().'.'.$nameExt;9 K& I: k/ j' y8 W( R. M
  $file_url = urlencode($CONFIG->baseUrl.'data/files/'.$date."/".$filename);
4 n/ y2 O6 h6 D; f+ O6 {  ; D0 d& Z1 ^# F3 k  c7 Z
  $filename = $dest.$filename;2 t: t0 `) W- X! T) o% k
  if(empty($_FILES['Filedata']['error'])){6 E; I  F3 I% k" r
   move_uploaded_file($_FILES['Filedata']['tmp_name'],$filename);3 x9 e! v; b9 {1 s' n
  }& `  n  r. B- W/ A# l9 t8 Z
  ( U5 K5 b" c; N+ N! k
  if (file_exists($filename)){; i, }) L7 {1 \$ B! ^7 U8 C
   //$msg = 1;
) {/ R) N0 F5 R5 ?1 W9 w   $msg = $file_url;
+ Q8 R& \: N" H& o# C9 F   @chmod($filename, 0444);) S  y2 v* Q4 D6 ~6 }0 A
  }else{
/ d) k, O% P0 H: X   $msg = 0;
- F3 U. v0 I. D' \  }
3 \6 Y- C* s0 d; h }
$ ~* a$ T* n& m $outMsg = "fileUrl=".$msg;
/ f  |4 i; K+ F $_SESSION["eoutmsg"] = $outMsg;4 L9 R. D$ Z0 U
exit;
4 c2 O" K. I3 X+ i9 l}else if($operateId == 2){( t- G1 P5 y. Q$ M* a" Y. O7 n$ S
$outMsg = $_SESSION["eoutmsg"];7 o2 ~( e8 M0 j" S. u+ Z
if(!empty($outMsg)){& `5 r( M" \8 D# ~
  session_unregister("eoutmsg");" r8 b& p! d, F
  echo '&'.$outMsg;2 `; H! f+ n% \, E- j
  exit;
; S9 }& i3 R" [" y# p }else{
1 P+ n7 j7 a& a4 s  echo "&fileUrl=0";2 N' _! u) x- B2 y2 w& L
  exit;2 r4 ~# q! s5 B  w5 B1 i+ t! N
}" I& M/ l3 L3 P/ k& |) r# \8 {
}0 o. x- G: M; r: j
2 I, ~# G! g! E8 d
function getmicrotime(){ / A! |' O1 F3 b' O( B
    list($usec, $sec) = explode(" ",microtime()); ; d  N! \8 X" i6 j  v6 o' t( k! V, Z
    return ((float)$usec + (float)$sec);
2 V% J$ d& t5 w9 m2 M+ s}: O- a3 D. W/ y1 M: g$ ^# n+ N
$ ~3 N0 ]  f+ `1 t' z( c
?>
/ t( r5 U7 A! K  i
回复

使用道具 举报

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

本版积分规则

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