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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......
9 S2 q8 A; ], H# ]6 A7 h& A* v; \# U; u" C. s4 Y7 o% C& z$ t9 k
   要转摘的兄弟们,你们还是带个版权吧!    & d3 ?* @; N' P5 c, M  f

  B# p% O: ~& R( K- o* v3 a  组织 : http://www.safekeyer.com/   (欢迎访问)
8 W. J8 D/ A7 @% ~. b2 E/ q7 _# c7 u, @" H
author: 西毒    blog: http://hi.baidu.com/sethc5
* G3 J' Z. E! |6 l2 z% @4 l+ O
' m# X- Q" r3 }! c% Y4 A     ! L1 y2 O$ W1 F2 H

2 n9 m* q: B, R  i; Z: ?3 s其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.4 x& j- b- J2 N% K. ^4 j

6 x# o) ~8 I4 [过程不明显的我就省略了。% z* C0 c( L! L( m/ `  u
) S5 }" m. D( h* y1 X+ _( e" Y
在preview.php 中第7行4 S  p, H9 Z! @% q- C

5 q( N* |# J+ v+ e8 b$r = new_stripslashes($info);
: K3 ^# }' a/ S; r% g* ^8 e% ?0 [* O
1 T0 N" X/ a0 x8 s我们跟踪new_stripslashes这个函数: |6 N- p' u- Z' w6 C9 O

1 D# ?# T, ~& s- M2 D在global.func.php中可以找到
* j  K/ b0 W$ j4 p! H9 ]# G( t9 }2 T) k; L4 n
1) n+ Y: E9 o, g0 F+ U
2
6 Y+ P; i7 p- }4 b1 u39 l( y& ^2 Z) g+ x8 _1 P: t" k/ U* J
4) M3 C, V9 d# H' a
5
! G" n( {- |* I0 q& E6 function new_stripslashes($string)
( m; C& Y! S& h0 o7 `& M{% Z8 K8 v* G- p+ k/ h
    if(!is_array($string)) return stripslashes($string);1 J6 r7 k9 q0 w$ Y! v
    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);' h7 D3 G! M: c1 F
    return $string;
# W# \% A) s8 L% j* d& Z}
& [5 Z  N) n8 _4 R' u
7 l; t; |0 r3 Q9 K这个函数的功能不用解释了吧
( Z0 \! R, O% `: W, K1 H! n
$ o# _- X% R1 _5 e所以我们看具体应用点再哪?4 ^% |, z: H3 @6 r, R! [

9 s3 a+ o+ P* V2 G16 Q/ ~: H0 r0 J
23 M/ _+ f$ u3 y$ o2 J
3
) R3 v. j1 U( f- X4
8 q- f5 ?$ ~0 f/ F/ A. P5
7 ^; x+ B, j/ r- T$ m0 \6' i' z; ?3 a1 ^  o& t/ f
7
7 F/ ~) ~0 R  H) [2 Y* r! K# ^8
) m. t3 @% o2 n5 s4 T$ b9 |( j9
8 C+ I* M3 \* F& ^# Z8 t3 }10
5 ]4 v" a5 E1 [9 `" ?) H8 R11
$ n, e  C1 ?7 X$ y- B12- D6 _3 {8 Q  S# }' a/ m- H
13
# B9 G" t' ~4 Z8 J3 L14
- X# \7 E8 K# B15
+ [# k" j" A5 ?  L# t) N9 \) ]2 r5 n16
  l2 [6 h/ u7 I$ I8 k1 M: {/ s5 s! U17
; I  B- D+ O7 m; O$ w- y- |18
- W; g8 \- q' f$ c; t19
2 u7 e- o6 h6 k3 G5 e209 V8 {3 a9 }7 B: U  l' ?/ ]
21" {* c7 E7 c# k, g9 z& o
22
$ d9 e6 k7 z/ }, L7 T$ ~( {9 Q) w( O  E0 W23
6 d0 R, h  `/ t24
" M5 |9 f& p  w+ j+ l" m25/ X1 D. ~% }* e+ v
26
3 X- @  ]& I" M9 w: K# a27
4 \" t) }. q+ k; P281 A7 P4 L+ d* ?5 X& z; X- K4 Q+ K
29$ ?' v0 Q# l. u  L0 z9 ~' ~& Z+ _
306 X. y( ~1 _  w( E
319 m  G. I) L) A* `
32
. P/ z& j( v! }1 a# b- c332 S+ t0 I: ?- }. R* n' ?1 x
34. y9 y4 ?* S7 b( h9 m4 e
35 require dirname(__FILE__).'/include/common.inc.php';
) \6 d3 i* }& P6 _6 Q% Z, Sif(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.
0 L$ f4 H$ U( j, B4 @- h) c) A8 Lrequire_once CACHE_MODEL_PATH.'content_output.class.php';
0 V! s# _4 x' K* }; N4 ^9 crequire_once 'output.class.php';
$ X, n8 L) a. Qif(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了& g& _4 U- K  s* d5 [" A; c
$r = new_stripslashes($info);   //反转义了.....关键" O- C5 H6 |! s  ~: x
$C = cache_read('category_'.$r['catid'].'.php');
' u& F$ a: B. G$out = new content_output();* l( {  |8 |4 r5 G
$r['userid'] = $_userid;
4 q! @8 I# x4 p) R8 ]0 A$r['inputtime'] = TIME;
; U" B, {; K- C9 s$data = $out->get($r);
2 ~# }9 C1 {# eextract($data);
8 o" p- F: z; R( h# ?7 M$userid = $_username;! e8 v2 O' m0 k  H
for($i=1;$i<10;$i++)1 t0 ?- G+ t+ B! j
{
! C) \% ~! _' K" i    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
. C0 k1 U* k- T* m& l. y}9 V1 N, z  Y* q, U- P
        : |( T* H' K" r" t- ?+ K! j7 b
$array_images = $str_attachmentArray;
; Y6 K+ O& x& W$ I" \$images_number = 10;. b4 F- _) Q! K0 e: x2 I
$allow_priv = $allow_readpoint = 1;
; F0 l- k1 g* g' a/ r8 P$updatetime = date('Y-m-d H:i:s',TIME);
1 H" x( ~/ W+ Q- j5 n        6 N5 W& m6 [) a% P' l' h! z" p6 x
$page = max(intval($page), 1);5 B$ J  `( F) T; h# T* t
$pages = $titles = '';4 O6 s- \. ?# q3 k  z
if(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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