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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......$ E# L6 @2 `) k  Z0 H
- k8 c: e! P& Z( k' L
   要转摘的兄弟们,你们还是带个版权吧!    , Y7 U) y9 [+ n" y

1 M4 @* J' ?1 n+ g1 s  组织 : http://www.safekeyer.com/   (欢迎访问)
0 V2 e( j6 e, v7 O6 A6 A( y4 l' Q( x1 O3 ]
author: 西毒    blog: http://hi.baidu.com/sethc5
: m" j, M/ C* G: j. V
  r- Q+ S  q+ l2 [8 t9 `5 A     
. p1 u; K1 G5 S
+ A) `2 ~, Q3 l2 r8 g; J其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.( Q4 F) ]  ^6 C1 t2 k) f3 F) j7 H* Q7 r

5 a1 o( M& j' \过程不明显的我就省略了。
8 f3 P2 q7 D5 c( g( P; n. O9 A5 K) O* P6 B  Y, O
在preview.php 中第7行- {7 {! L. G" j; a% f+ {- R
6 S0 _4 H3 r3 J2 A" o
$r = new_stripslashes($info);$ A' O4 Y% R8 n$ s1 D" g' T4 _0 c

+ R7 g) b- B" {0 \4 d  `我们跟踪new_stripslashes这个函数8 ~2 s, v, Q1 {
: Q6 C3 h7 Q9 x; Q" S
在global.func.php中可以找到/ o- l! ]' o. ]/ P6 A# v* q  B% I+ r4 U

( T8 R6 K  q; M" \1
) N5 g* @# T+ j' \3 J2
) V* c4 y& h' V6 R9 l$ k+ M+ [, G3
% ]% ]7 y4 @4 R3 a; C& ]) s# h4
3 p! H$ G9 t& r9 Z' u5 j54 x; a% L* T) b0 J( K9 F+ u4 {
6 function new_stripslashes($string)
: ?) |: n+ w' v  h0 a: Y$ C{! \* D! C: k9 m! C+ H0 {
    if(!is_array($string)) return stripslashes($string);
, p# V. {) B/ Z$ g, p    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);
* `5 E1 x& Z) ^0 L) T! e    return $string;
5 S4 o, P  g% B5 P$ N0 e4 v0 s9 o} / i; y# w( d/ ?/ D. q* r

# J+ d/ r0 o% D8 J$ F4 S4 U3 L/ h这个函数的功能不用解释了吧. Y/ U: G2 p. q6 ~  o* G! Q" }

6 a+ i: a  J. [  u0 ?9 T0 ^所以我们看具体应用点再哪?) \5 v& Y, q* S1 q) }, B

! q7 }# U7 [% l4 Z5 z( q  D- l1
. ?) f: x7 S! C. @6 c  V. _2, l, z+ I  B4 B+ W$ L2 ]7 e+ @5 g( L
3
4 T2 B5 t& R# C4
7 q, V* T" [4 W5
  L# _2 G" P6 d6
! _3 q% D! z% y4 r+ |71 F/ v# ~: k+ Q1 B
8
! V# J  f4 o' S# m* ^/ N  C9
* ^& U8 M3 ^" ]( B# f) v104 G4 w: N" R6 t. L. m0 M' J
11
1 c5 Q0 M3 j* [5 n; _/ U* N7 [12
3 O% D) @' M7 u0 J% ^2 J13$ c  ?4 y' U/ x* k1 r" @, Z# b% _. @8 E
14
" l% F- T% v9 D, N. z15
/ n0 G5 U. Q; E16! ^( ^3 u  ]8 W, k/ _+ {- x1 h
17
, m6 {. X" l1 |; Y( U4 k18) _- t! H% ?# n$ ]  B
19) a  `) j& D2 K  g: m
20; q: O) ^% e; r* {
21
1 P& r6 ?) _$ L( p5 q: U6 R22$ n  t7 K! c4 U3 Y% b8 i) u% M  \
23
# p  _) n  |8 x8 q* I4 ^( Q24
% i3 v( ~$ m3 M5 a25& I3 X4 z6 K, d; d
26
7 {- K6 x' f) f- p: w2 q27- o- n, \6 k9 v1 P2 v) i
28
% D3 H2 j( F6 [" S$ |29
# d/ B5 |, G; G0 ^; k/ s30
/ w# m- }: x" B4 Z316 ^1 C! x% \8 Q2 o% @
32" u, O% D7 t0 }0 I1 I8 Z; v
33
0 G& N6 i: g. q34$ j) j! H! B) m! y8 c6 K2 d
35 require dirname(__FILE__).'/include/common.inc.php';7 j$ Z2 r4 l8 ]. W4 R
if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.1 d" p* K$ ~& y$ h
require_once CACHE_MODEL_PATH.'content_output.class.php';- V6 r4 j" ^" I2 L
require_once 'output.class.php';! R  {9 ~  q, R0 B& o0 e1 ~5 M& z
if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了( u# E6 U2 I' _$ o, i" l4 D
$r = new_stripslashes($info);   //反转义了.....关键
! {9 w+ C2 y8 ?4 J& V/ C$ R' `$C = cache_read('category_'.$r['catid'].'.php');2 e) u; Q  d2 B; ?2 j2 a  I/ o
$out = new content_output();
$ x; t+ X# j3 c, A/ R$r['userid'] = $_userid;4 f0 J2 @4 n+ V0 z; p% [
$r['inputtime'] = TIME;
/ `# c; y' f2 ?; c$data = $out->get($r);
& i4 C+ W3 C0 H3 D7 e& v5 d4 ]' @extract($data);# f* N$ X% H( @, ]! l+ [+ m
$userid = $_username;
- P1 F! o8 P" P" Vfor($i=1;$i<10;$i++)
, J- ~" i, d/ ~) n6 j7 a{. r- N9 |; W! Z  c* V2 y
    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
/ d- R' A/ \* q, g3 Y4 H9 U}
4 \3 }/ j5 v0 A  @  Z4 i        7 R3 Y5 {1 ~4 k/ c
$array_images = $str_attachmentArray;
; y. L+ i) }+ o: X$images_number = 10;8 k% h) L* D) a9 D
$allow_priv = $allow_readpoint = 1;
( s; x" u4 S% C+ P; A$updatetime = date('Y-m-d H:i:s',TIME);
1 m6 Z) e$ c/ f6 I, f: b        
& x! a/ {8 I% N' `$page = max(intval($page), 1);
/ T. l4 |1 J: s" V3 L+ \4 U8 J$pages = $titles = '';/ @1 a8 j& ^9 ?( T5 V9 k
if(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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