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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......2 \/ M% N. u% z# Y9 r

: E; u# F* f8 `9 j3 h/ n& N   要转摘的兄弟们,你们还是带个版权吧!    7 }0 r. c5 r+ J; }

% n6 `5 Y/ J$ ^" o" t2 ]  组织 : http://www.safekeyer.com/   (欢迎访问)
+ h$ q: m$ c: L/ Z/ D2 c! {# U) \8 n! l4 A$ f0 g  V
author: 西毒    blog: http://hi.baidu.com/sethc5* Q) r7 t# W* I: A! E& X3 }

/ S2 Q+ S0 q: ~/ N4 S! c+ L     ( b# f& t. ~; z$ N+ w! Z
3 v* m6 h& i( i+ ]) {1 C! _
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.8 m9 {+ R$ F: @5 l9 K; c
$ j! Y, Q" q% _
过程不明显的我就省略了。1 H3 K  H; l: g$ z4 E  o) t& Q, ?, k

! a$ _+ _: a) u6 P! E1 x在preview.php 中第7行
* ]: Y+ h& F( a4 R9 Q9 }1 i& ]  R1 h1 Q
$r = new_stripslashes($info);
: ^% A8 U- P% h% R0 L( n5 [  u( w1 \) D: j$ a, U) U3 |$ \  v, k
我们跟踪new_stripslashes这个函数
+ V) P( L+ N7 s$ M8 Y7 C* G' M+ O* X
在global.func.php中可以找到' z% ]+ {$ x! q, u+ W

7 {9 b- ]9 T: J+ k# z' J1! v- X5 I) r, V1 h
28 t; ]+ R+ D) \6 u' s
3
+ |: F$ y6 @: Y4 W4  W+ m" ~2 b& O: j4 R3 b/ S  Z
5) W- ]- A7 F$ {
6 function new_stripslashes($string)
) f6 Q3 Q1 `( \0 N* Z{9 p5 h1 d2 I  P& U6 O! T
    if(!is_array($string)) return stripslashes($string);
. x( }! l) j5 J0 [) |% w    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);
& T7 \  m' J$ y2 E    return $string;
9 `  ?$ w0 [0 a1 s9 Z+ T}
, z$ w0 v* M, R( ]' i1 _
' [8 t  M0 g! L% a这个函数的功能不用解释了吧
6 b# |: t$ O$ H2 F8 U5 t; ~
1 w+ g: V& `4 O8 }9 Y所以我们看具体应用点再哪?
) q- a# i$ r/ ^4 \9 @5 r! a8 v
, P8 a6 |4 G; L) d- _7 H5 ?1
- r! H5 @1 @$ u6 t, M) Q2
5 D/ [- R' `0 A, t) Y2 k3 {3  H2 x; F) s/ n  F+ ~0 v8 M! N! @
4
1 z2 u5 I2 b) y8 q56 e0 k- D) r2 ~& G! K
6
* a: o# v, L7 ^5 U; h! V7/ H$ _& p1 ^4 B6 C5 N
8
8 V$ ]7 H6 U0 m& a1 G  m. |$ O9) U6 G+ j9 o: N# S
10
1 `$ I8 y+ N! Y' U11
( ~: J3 D2 |7 z) B# A2 |12! ~! {4 m  V# y1 i/ a9 u
13
! P- ]; F$ Q0 _% _145 I! P# I& q; g: E$ M8 ^, h
15
' t5 s8 `% A* X- j% I; n16
) ]# U- Y8 g5 {  O17; @' Q  G8 V' A9 m7 }
18" E* L! o9 r0 G6 ~" S" f
19! C3 g9 o/ b0 M7 F' H6 M: M
20
3 M2 j! f' v; }3 c6 Z0 X21$ r* Y& u; Z! g" J
22) B* A8 Y8 @, W& \; J
235 D% x& x2 J6 y9 g( V
24) Q) k8 e* D- O6 r* ]( W5 ]" _+ o
25
7 a% }0 i. D1 N3 z: i26
% s% D5 x& p% C( K) E' v/ a' O1 s27, a, l; @0 P" ~0 J
281 b2 {& e& p. l
291 F& D& `( U- p) o+ J- e' x0 T! j
30
  i! H9 {& o) _1 G' o- w31! C  C  w9 h) R% Q' a, Z
32/ |; |! W! j2 c" }" v
33
" G2 M$ J: O3 A: |+ D34
) E+ Z3 B6 t  h1 w3 {35 require dirname(__FILE__).'/include/common.inc.php';+ Z1 K9 d' e- j& v$ F6 ~( S9 n. l
if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.' a" o( [! M7 l, b% D, \
require_once CACHE_MODEL_PATH.'content_output.class.php';
8 ]5 h* ?# L8 }8 [( B4 ^require_once 'output.class.php';! s7 I* `  Y) i1 O5 ]0 _3 N& h
if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了& z! p/ T& N3 B
$r = new_stripslashes($info);   //反转义了.....关键
+ e0 L9 Z# F& e' a  S/ E2 m4 n$C = cache_read('category_'.$r['catid'].'.php');
; K, K1 P8 [9 ~( K' S$out = new content_output();: U$ ~0 B  k0 N) r! d1 C
$r['userid'] = $_userid;7 a' _% [" v9 R2 ~7 k2 Y5 ?& p
$r['inputtime'] = TIME;
! m! ^! J! I: d# e: K& e2 `$data = $out->get($r);  N/ K3 k+ k' @1 H! L
extract($data);
* Y7 [( @. ?# f$userid = $_username;
3 r1 J2 N1 c; O/ G4 E+ m4 C. cfor($i=1;$i<10;$i++). E. N* @6 J+ v* o5 G; U
{
1 o/ r7 t1 V  F, e. V1 x    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");( @: U! j. e: y5 \6 r: L
}7 X3 S! P3 Q9 {9 r
        % _5 [/ V# ]  V& M6 U  }
$array_images = $str_attachmentArray;
# e, e* b: z2 L$images_number = 10;* _$ e* c% e7 Z0 E  `1 E
$allow_priv = $allow_readpoint = 1;9 F; b: @" U0 V4 j1 ]) L
$updatetime = date('Y-m-d H:i:s',TIME);# J$ p8 u$ D% E1 |
        . {* M& L; r2 i* u4 V& g
$page = max(intval($page), 1);
3 N% m# I* Z+ B1 y$pages = $titles = '';& `7 }0 h, G; i. Q) l
if(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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