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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......
& f9 }; b/ @4 F3 x  m; h' _# T. V& Q3 p$ j" I
   要转摘的兄弟们,你们还是带个版权吧!   
& u" v- j4 [- c& K6 w
6 e: m/ J# R3 i+ t  组织 : http://www.safekeyer.com/   (欢迎访问)# E, }  h2 r  ~) F+ B4 r' }- x
8 a- _( b7 u* j+ a1 _2 p6 w  S
author: 西毒    blog: http://hi.baidu.com/sethc5
( S1 ^7 L3 R6 n6 y0 X- D0 ?! M# Y/ m- H
     0 @/ W2 w: v( V$ J
& I3 q' X" `  B4 X  J
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.
1 r5 B! b& A0 w# M! }" \7 M* W4 f% [
% p0 ]. \9 W8 K7 i过程不明显的我就省略了。
: p5 F' V8 ^/ }0 D- P" R- c9 x5 Y, h& {( \# l  m* \6 G, M
在preview.php 中第7行3 z5 A1 x1 _3 O' Z. O( O

! H) G5 |  U6 p. [% \  ]" i$r = new_stripslashes($info);0 ~1 [+ X  U4 t
* ?; l1 B! M! a- {" |/ \4 ^
我们跟踪new_stripslashes这个函数
: k: R9 W- s  c* P4 ?# p9 ~& r2 c* ^: D3 O' Z& B) _( n
在global.func.php中可以找到/ D' `0 B8 t. Q5 K
! J! ~* d" t! ?( v( n& M
1
" i6 z" H, P( S: b8 a5 N2# c" |: I6 [% `( q' C; X' j8 T% g8 Q
3! K# a- k3 ]" m6 `# {
4; k, m1 p+ g# l7 L
55 ?- d: V! F. j( @6 Y$ c
6 function new_stripslashes($string)6 M) X" q0 A' j/ l  u  w
{% N' B# ]& ~7 _
    if(!is_array($string)) return stripslashes($string);: G+ K( `8 N5 U$ X+ H! [
    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);
* ^- @, O$ }3 E! R; H$ N9 o5 C    return $string;
! p6 S( B7 Y) N. K( e}
) F8 I1 ?% F6 T1 u& A* r) y
6 O9 u( |# t9 b" b% n) Y$ K这个函数的功能不用解释了吧* Y& e' l3 ]2 d8 Y! m

/ y0 K% d* o7 i) S5 Z1 P所以我们看具体应用点再哪?1 a; o9 n# ]7 q
& q. V0 z) y7 X, o9 z
1
9 T7 ~' A8 I2 q6 U! Z5 k" m2  O( R" S7 x' N; L, g9 m
3: ]: ~5 p4 z( j7 _4 e
4
3 n7 D1 O6 K# F& }- L5 o/ b5
! t; Q% Y6 G. N6, k6 Z$ o1 k9 X: X/ G. z% c$ k% _
7( k4 K0 J1 X8 ]  @$ s" Z8 \
8+ z. E6 b. H& H/ u# f* Y: H3 E4 y
9
$ b. B6 ?% l4 ~; ]# K10
$ K, m$ K4 b  ^9 [& I11$ W* G  D* y" {/ ?1 y0 L/ o
12! x/ }9 c* G" H% K* J  y
13
7 A" c1 F1 ], U/ C/ r2 p14
  L  M- E5 Y* k" V8 v15
) m; \0 t( M' ]" P16
* p+ r6 Y1 B4 E# {- a0 }4 q17' z  D" E3 ^$ {5 v) K+ t
181 V9 G: ]/ U# a. D
19
* }6 j) N% i  z20
/ k$ n4 l6 X1 c  I0 c21
& a# G8 ]* ?. N! u. |22
( O: b: h9 a) `3 e3 [' Q. C3 y23
: Q- _8 _  }6 ~: Q9 t  d24$ P( g' C9 L( s2 @; e6 u
25
- p1 [2 t. @2 N  u6 W( Q26
5 }" d6 Y; S- F9 o$ h: O27
7 l8 U, x) B- T28
2 h$ X  d8 P) L: _$ c  s4 m0 T294 n- C* @! w7 J2 u
30
, E, G. V1 }+ \) A# k3 J8 B31; |+ `; t5 }# P5 b: t2 S2 C
32
; e" d7 B: s) m5 Z8 K; V33
; h' B: q5 _) s/ ^8 g34% Z7 F6 n) h% M  p- N
35 require dirname(__FILE__).'/include/common.inc.php';
! E3 e/ v: E0 `$ N7 lif(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.! U  o9 A/ F( c* l
require_once CACHE_MODEL_PATH.'content_output.class.php';! B# X( T/ F" c1 h
require_once 'output.class.php';
5 {  [- _: e& A* o, q% {! w: [if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了1 Q! i) J% g" @) r, T, S- l$ @
$r = new_stripslashes($info);   //反转义了.....关键
$ C6 n1 X, `  ]) Z+ E$ S. x$C = cache_read('category_'.$r['catid'].'.php');1 ^7 V8 J6 h: C& }
$out = new content_output();! G0 g% g- R/ |* }0 I
$r['userid'] = $_userid;% k3 d% q3 \* v0 V
$r['inputtime'] = TIME;1 A1 ~* d6 v( {+ K. X" P5 m
$data = $out->get($r);
- \4 n; N" U& A* ?2 Q2 x6 k" @extract($data);- x1 Q7 m, p% Z7 G; v
$userid = $_username;+ N2 P; N9 [0 C
for($i=1;$i<10;$i++)
& w/ W- V1 _1 r( {+ o- \{
4 B0 E5 U9 l7 p6 `- u) ]    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
# _& T8 n" Z* O# b  f2 l}: J+ r6 ]0 j& e
        
3 |2 `9 {7 f( J* B7 V) \& R7 O$array_images = $str_attachmentArray;
( {  j0 [) R) h1 i  b: x( i$images_number = 10;
( q( r; F1 g; k% g1 }' l$allow_priv = $allow_readpoint = 1;/ m/ q  [2 _+ ~! M& \
$updatetime = date('Y-m-d H:i:s',TIME);) W0 d  n, L0 e, b3 B! x2 O
        0 w/ K' d4 b3 k
$page = max(intval($page), 1);
+ j" e0 B8 L: O+ C, p5 j/ _$ U) d( M$pages = $titles = '';! p6 \* V8 \7 D, j+ I1 G5 F
if(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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