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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
说好的第二季来了......6 o  W. W1 k& ~& }
6 E/ G' Z$ H) ^3 r! q( R- Z
   要转摘的兄弟们,你们还是带个版权吧!    7 T: w; I, B# v9 X6 z0 Y) J) `/ F
; k8 s; J/ I6 P& g0 t
  组织 : http://www.safekeyer.com/   (欢迎访问)  E; Y/ ^# v" o1 g) q, G
0 Z* R* c- V3 E* j
author: 西毒    blog: http://hi.baidu.com/sethc5
3 o1 a1 ~8 L% \6 Z3 j3 o. y! P3 W* H9 F2 @3 O* i& B
     " h% S: F; G, h) Y) s
6 U* r- c6 S6 e( H- s8 Q9 ?% N& a
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.  x$ h2 x% O! d# _3 z
. A2 Y9 [$ U  D* D
过程不明显的我就省略了。% @9 H" @. E" D/ B; e! B& R- d4 f" J
: I3 a5 |$ U+ Z* ?
在preview.php 中第7行
" o+ i) a1 v$ u7 {2 p% ]4 b' T+ p4 U: S: R1 Q, n& h4 o5 _0 m
$r = new_stripslashes($info);
0 @2 f( d) j7 E2 q5 f: t
' t  q* c) h" \% X: v我们跟踪new_stripslashes这个函数, c! J$ W3 G+ K2 h# f, F

5 s' g1 v% i! X+ c3 b0 Y在global.func.php中可以找到4 e9 Y6 |9 T* H6 t

8 Y( P+ J! D3 N& e4 O% s7 g. ^$ y1
8 m2 B+ v9 {1 p2
8 k. R( G3 w/ e% N5 _+ h) Q1 A3
; v4 A& W) ?4 b9 y4
0 s+ ?8 V* N! {* T2 v! Z# i/ ?5
% Q2 |& M- E/ X+ S0 Y1 q* p( d6 function new_stripslashes($string)
( ^  t/ `* k: O+ d5 i5 \{7 `7 l; Q$ Z$ F8 j8 O& N
    if(!is_array($string)) return stripslashes($string);% X" L- k7 D& z- S
    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);
( f& w/ F" R( t& ~0 ?    return $string;
! Q0 w5 W) F; w% g} % V# `, t; a% `. n4 Y, f. g  Y
7 Z) J2 b- b: k8 [5 y4 }
这个函数的功能不用解释了吧) u3 I* Z& c* V2 w/ t3 h
6 A' Z8 C0 G% A* ?. g
所以我们看具体应用点再哪?; f* f8 f3 h% R3 X
- H" [+ B7 T+ D$ i* V7 M
1& V4 k  P! u  X  z
2
% Y/ O) @+ s0 I3, w! G+ o2 x( B0 |1 S, Y/ p' F
4- C! u7 s  g7 H
51 ?- a8 h4 H% J  v* k; |! W" S
61 m: p3 `/ {, d& i
7
, ]  x5 q$ y( k4 S8 a8 G8
8 ?& J0 U' L' p# p( ^; R/ m8 b! G9
0 H& \! D3 W9 H10; R0 o! W' p' ^+ ^: R- q' O: d
11
1 w7 u! m" B  t/ J" A+ O% R12
& u8 e. B2 H5 Y" X+ Y13
8 k1 [9 b+ Q+ J2 j  T8 V140 U6 K8 v% r- n/ ]+ ~
156 g6 D( A/ z% p: }3 R
16
5 N$ T( `* ]* e* _& K4 [8 Q) |17
5 M2 f. ~. W9 f1 U9 ?18
$ F; }9 X* p" c191 i9 C3 T3 q# Y; z5 g6 K+ E
20
$ i7 T% Q) w, i2 O8 D% ^: k212 @7 [& w4 T! T/ k
22
+ ~' G7 l; E, f' h23. a. }7 P) v3 @1 `- S" Y9 r
24
3 [5 f( K5 K. l2 [9 b7 L4 f0 m25* G. p- C9 W, b% v
26
& {! ?0 b/ S3 G; }' g. Q276 `  n5 _0 @& s+ M1 T5 v  ?
28
5 L  g+ i1 [5 ?29
3 O: c* P8 u7 }( t30) e0 a, {* R* I8 L# k- \5 ~: j5 N2 [
31! K: E! x7 n4 [
32# Q3 A5 A# U  w- V
33
4 p, i, w. w' G3 `* r% l3 P$ F: t34
9 }- d' B, }4 ^0 A2 @8 [; z35 require dirname(__FILE__).'/include/common.inc.php';
( |& q; Y& r8 d' s# ]if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.  h9 ?7 Z" b+ s. C' g2 P
require_once CACHE_MODEL_PATH.'content_output.class.php';+ e1 @  m2 r9 C! z
require_once 'output.class.php';
! O6 |. f8 B. w: ]1 dif(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了
/ W0 x9 D7 h) e& c* K( s$r = new_stripslashes($info);   //反转义了.....关键. O" O: m% h/ b" c, H
$C = cache_read('category_'.$r['catid'].'.php');8 N, G) _. P$ ^/ F% z8 i) K- u
$out = new content_output();
' T7 v7 U  f. f$r['userid'] = $_userid;3 ^+ Q/ s, z% g( A
$r['inputtime'] = TIME;7 |/ N( n& b% ]" z4 k
$data = $out->get($r);
% B' a$ \, s8 [: a0 sextract($data);/ k/ {8 m/ e# W  e( @
$userid = $_username;* `* {' {* ]  P, _  E. F5 F; f
for($i=1;$i<10;$i++); B* m6 J- H3 c9 g' ?" j8 ]
{+ d' Q* P# I4 u) K: Z% Z6 v& o
    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");, W$ F$ m: D* _. w/ R
}9 M& m0 O: ^! ^7 L9 [$ J4 F
        2 W8 v* U% \. U
$array_images = $str_attachmentArray;  i) r6 n. ]& w0 n4 y' l8 n
$images_number = 10;
7 S. t- s' B4 @# F2 U8 y* M0 v5 d$allow_priv = $allow_readpoint = 1;
% ?( G- S1 g, K! M$ g$updatetime = date('Y-m-d H:i:s',TIME);* j2 e/ x# ~; L  A, z1 u( r
        . h* V  u6 g2 t7 u& Q# Q& I" p% y9 o
$page = max(intval($page), 1);
3 F" Y3 s/ b5 a5 r! f" e$pages = $titles = '';5 q4 f) m" [$ U9 m- |9 e0 v
if(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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