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

PHPCMS 2008 最新漏洞(第二季)附EXP

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......$ E, ~# |. b! o" N5 D
: w' r& o/ v& m  k! G% m) G7 G( T4 M
   要转摘的兄弟们,你们还是带个版权吧!   
  ~% q! o  F2 z- k' `, ?4 B8 N$ B+ ^& s
  组织 : http://www.safekeyer.com/   (欢迎访问)# Q( }( o, q) i6 u

" U2 X* ?; Q9 h6 n3 Jauthor: 西毒    blog: http://hi.baidu.com/sethc5
( {9 d6 S8 ]) R8 {5 _4 g
! [; x' O# b- h. _  o: J" M     
3 p$ A( u- c! K; i* O% P* h! ~- ?9 }2 O4 `6 U7 J
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.- z1 M+ F# ]$ T8 c9 Y

+ ?0 f( k  |6 n! ~" v: ~过程不明显的我就省略了。. A% S2 d4 Q+ m$ E) x+ q
/ Y. K& ]1 N7 U( A
在preview.php 中第7行/ Y/ M9 ?, n6 [" t

2 s+ A# r4 I6 ]% r; t3 w* R$r = new_stripslashes($info);: f8 @, R! {3 b# @1 p2 d4 ]/ w, a4 E
' i" b* Q4 q: }2 M$ @% k
我们跟踪new_stripslashes这个函数2 r+ D3 [% L* [4 v9 d) c; A

$ s( A- x- R2 b- l+ k- J在global.func.php中可以找到$ k0 H% ^5 f4 w+ ]' \
2 c' P; Y) P0 x, i  O
1
1 L+ v0 R- h( Z2
! Z6 ?2 ]5 I' t4 u( p4 V3
1 I& @: L  f5 r* i% E0 s9 o47 Q4 U3 N9 g: P: p( U; f, B
5% ?5 q  t# |  U6 Q* }
6 function new_stripslashes($string)( M- W" ^" ], {) {& z& k: l) [' ?3 r
{
9 u( n4 d  [- C0 C1 Z) O    if(!is_array($string)) return stripslashes($string);
  o- q7 b. X  X% I  E) T* w5 R    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);5 v% `+ I. Z1 b
    return $string;
( g7 z& M( t* [; L# a}
  l3 i% w2 D+ E- Y7 @0 f6 z: O! r) c8 V
0 V4 C! R8 M$ z! s这个函数的功能不用解释了吧! n. w) @% \: B3 i) A( X! T9 m9 n% r

0 x3 F/ I" h3 C& w- W0 t所以我们看具体应用点再哪?
& T, L: ]9 c, d( N" V
: J2 X+ s% A: I& B/ k: @6 l# n$ J1
8 `" G" w* F8 M3 h" Q0 j. l- M2+ R) I+ s! X+ Y
3
1 ^" ]" ^: \7 _0 z( H4 f6 z4
2 ?. n. Q- I% [- Z& E5* K) L: j0 u- w; E* t
6
& \- i2 r2 n% l$ I7
1 G- ?  h6 s9 O- c: x8
& A- k4 p8 [+ ?' d0 s, L9
/ d4 c: r" u8 n* f0 ]10& q% A* O' R6 B
11
, ]% k. s' S0 [. Z3 n2 G2 @12  H- t  i* B- n; D6 t! c* [
13( y5 a3 T" e4 t# N2 f5 {9 \
143 M8 q  \( a+ e! f, S' C9 r
15
& L/ `# w2 z8 d: N2 d16
: ]. B8 I9 C4 q3 C178 u) L; g* @6 T! n5 e1 b7 z7 s
18
3 q( k  ]$ j- a: c, Z194 ^6 T& q7 `( m5 m) Z
20
. _1 n5 K3 ^3 |, Z; F' s# c" z. v21. I4 \+ B1 i. c$ q2 K5 Z
22
# ]  G2 A( V! n/ ?1 t( L234 V3 \! g: I7 F8 u
24$ X" C+ r9 w( {  l$ b: N7 n
250 t3 i& N* G+ I4 E8 }
26  l2 L* }8 {% P/ t2 ~$ }( m" @* Z
274 Z$ m" l3 a$ @, R
28
  s  j- C& X" v+ \" M" Q29
8 }9 ]% Y0 k; w. q3 H" _+ V: H+ @307 F* h. H6 Y+ @  z  ^; w, H
31
7 l2 N* F  m/ i& r/ y7 P32% @3 u5 T, F' {) S
33% `6 [, N" b! }$ l7 Z/ I3 E
34
6 B" ]- D7 a6 `- w7 z1 ~, O& J. J35 require dirname(__FILE__).'/include/common.inc.php';  q* h. E* H' |2 \  U
if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.
1 _  T) D6 R: l1 X) ?require_once CACHE_MODEL_PATH.'content_output.class.php';/ [5 r. z9 m6 ^$ \% i  K% V4 W+ Z
require_once 'output.class.php';/ c$ ^# j+ Z0 Y7 r2 O- u
if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了& B" n' `  C; |: J" f6 }0 }
$r = new_stripslashes($info);   //反转义了.....关键. i3 ~3 o/ u+ D
$C = cache_read('category_'.$r['catid'].'.php');
, S' q% i! y# r8 c1 D+ B. `; c& _$out = new content_output();0 z! P* ?: |' a4 W
$r['userid'] = $_userid;3 f; X& C8 P) j/ ]2 q
$r['inputtime'] = TIME;
% U2 w3 L% E+ ^- d( E$data = $out->get($r);
7 X1 l/ A9 f/ v6 Y. Lextract($data);. n1 ?$ D8 n6 D( Y
$userid = $_username;
* _% p% S3 {  i/ ^. h( V( R7 Mfor($i=1;$i<10;$i++)
! J. R: D+ a, F0 h( D$ p{2 Q9 c7 w( t% s' m' {# x
    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
3 a; I0 M* ^0 Q}
' F, o8 ?* e6 E        2 B* G6 J/ [# _, d, e
$array_images = $str_attachmentArray;
9 g: c" @: T: z0 \+ o0 s. u6 l$images_number = 10;' N' G4 P7 J7 l  R, O1 v: L2 v
$allow_priv = $allow_readpoint = 1;
, L, v0 E0 u' r" h; k, @& x$updatetime = date('Y-m-d H:i:s',TIME);
' P6 g' T% q! m$ A        ( V; p% y& Z0 S
$page = max(intval($page), 1);
; w$ l( n  b8 \+ `; J: P$pages = $titles = '';- _6 m) `$ |7 s
if(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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