找回密码
 立即注册
查看: 2499|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......% ~( I& k) A- j0 m2 e

( Z6 j9 M9 V/ [   要转摘的兄弟们,你们还是带个版权吧!    5 I. q2 b9 U" E5 z2 C* k& _3 _
/ x# q# K7 Q+ Z% z2 c& J2 L
  组织 : http://www.safekeyer.com/   (欢迎访问)5 p# g* Z1 M0 o- p
) }9 W4 H8 X9 e4 l: V" L
author: 西毒    blog: http://hi.baidu.com/sethc5
: @* a* y! h7 @& u3 I. d& M* U+ Y. }/ Q+ V7 T
     
  N- B' z( I" c8 P! E1 H' q9 X4 h' i" b( J
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.
: [" V& q% d/ s
! Y8 a- }; U; A& \6 g过程不明显的我就省略了。5 Q  o0 [. [- N- r9 C: H
) W# R* H  X' u: u' K/ r
在preview.php 中第7行
+ u# }$ D0 @8 S% G& `" y% m! M$ ]: A+ c9 E+ n0 g
$r = new_stripslashes($info);# q6 g  }7 [8 @
- y. e: X2 a- r* M
我们跟踪new_stripslashes这个函数. `: m( P' A+ `; l# T3 e, B
$ M. L/ s( m0 E! Z+ W: @0 H( Z
在global.func.php中可以找到. ^5 j, E6 i3 A7 l9 n+ A& T

! b7 p$ `8 A( E8 V9 B8 J2 K) q1" n! ?5 i' P! }5 u6 F
20 P/ X0 m* e4 ~  M  j6 t
34 ?3 G1 R: y) r3 ~9 i9 `' \
48 t! c) ^" s& i) ^& r6 O
5
- ^" d7 E6 P2 D  U& v6 function new_stripslashes($string)% L- L# }( Q+ O  W
{2 D+ F7 m: s4 j( P, U+ E' E% p
    if(!is_array($string)) return stripslashes($string);
0 L6 k8 _$ e7 ?% S- H9 L% v    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);" w8 U4 Z  _9 h
    return $string;
0 x& M$ |+ w1 K, W" w" z' I  U}
& t7 |0 w# f# o0 c5 x; I/ E0 ~& }2 `, }# S* f
这个函数的功能不用解释了吧
4 l, J/ D$ B0 u0 c% d1 J4 t" C5 V. |2 H5 m7 p
所以我们看具体应用点再哪?! @1 k/ P* [+ J: u
4 w* I# {  ]  x
1/ L# O  n, W& c6 A; g. R* e
21 j4 ^& x4 Z- N& d, ]2 C( }
3
/ {; p1 r% @+ p9 I8 z1 I! ^) \49 c2 G' s; s( c4 w# s
5
3 M* r' x& {" A' _0 U6
2 H8 \9 B$ O8 p0 k# \* {* r7: G. ^7 ]5 i3 t* r0 N1 x
8
5 K0 Q1 d) \; w: P" z9
. w, \7 D( B$ e1 J+ v/ U' Z10
9 V: B  M6 L1 q111 o" t1 R0 [' w: Q  g
12( d+ b7 j. T6 ^: ^% h8 Y& v  A
13
% r- S9 z8 |' _( N  E/ r14! u6 Y- J1 J. |# p6 ?3 E
151 b8 C% E1 w4 E6 Y! X
16) S5 }. E) s/ {# ~- D
17% e1 U( Z3 R8 O+ L
18
  n+ C, E) X0 ?1 z$ W' Y199 F' o7 t) [* w6 t4 ]- o5 e6 m
20
' \& S; }* M: q, C, i21
$ j+ w8 P$ d& M% H+ I22) p# N' p: p6 W
238 X& ~* d8 j' l/ X+ p  Z6 k
24
; x& ?4 O5 Y8 `) Q5 ^0 ?251 c/ m0 D7 A: M: V1 ^
26
7 F2 z& L2 r- Y$ O+ L' h27
/ H0 s% K* [5 x& H6 ~. ~281 ?# t% o) `7 Z4 `- S, ^7 P& C0 q
29
" h; U4 U4 ^" g" x30
& ~- f+ n* c0 K4 C: R0 h1 |31
* t! Z7 s) M9 X  X: G32
4 `0 p# x# a- B5 G& q33) u2 @/ x, t, \. @. W
34# a, y- K1 \- j8 N7 b' v
35 require dirname(__FILE__).'/include/common.inc.php';/ R/ z5 n7 A9 F- Z! t5 E
if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.( H- ^" ?& O* g% g5 Z/ S
require_once CACHE_MODEL_PATH.'content_output.class.php';  Q6 V& x& }" {1 x! T6 C
require_once 'output.class.php';
1 v0 c+ a+ g3 x% x+ z2 I! Yif(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了
5 j4 C; U! L  ^" L5 U! B$r = new_stripslashes($info);   //反转义了.....关键
% Q& d( V/ C& {# E. `: w6 y1 s$C = cache_read('category_'.$r['catid'].'.php');7 t0 @1 R4 @8 h4 K" t0 N
$out = new content_output();3 w- M9 }% l2 {% g: v7 x- V& c
$r['userid'] = $_userid;
/ K; n% {" B( w5 A$r['inputtime'] = TIME;
1 u. n. Z# C, n+ z4 Q) Q$ x$ ~$data = $out->get($r);
. n) X7 B9 t$ Q$ f! ?6 t7 u3 dextract($data);4 v! X8 l# T8 F
$userid = $_username;, E8 O5 {1 b! l: m9 h
for($i=1;$i<10;$i++)6 n$ g! A5 ~* J
{5 T1 _  z, w; E  @8 c: K
    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
' O$ ~$ q% K; }4 t  J& ]1 _' @}
) G0 c2 p5 s6 m$ y        
0 ?; L, s' N$ c$array_images = $str_attachmentArray;
, |& T' ?9 Y! W" p5 b8 K$images_number = 10;3 p; v, ?# v' Q, j6 b$ U" ?/ ~
$allow_priv = $allow_readpoint = 1;1 S9 {8 p5 p' H+ J9 ^
$updatetime = date('Y-m-d H:i:s',TIME);
( K+ R) u' _; b5 ^* H        ( s$ E, y0 D1 o% q
$page = max(intval($page), 1);
8 p( T* j, _; V: `4 q$pages = $titles = '';
! d9 ]+ M2 G/ d! \. J0 G8 w; q" k# I* lif(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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