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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......6 _; S5 ^- c. `$ R; L5 }9 n
5 |0 J/ p2 i. J% G8 V: g& C
   要转摘的兄弟们,你们还是带个版权吧!   
! Q4 I' ~' U8 U! B' d8 Q$ s, Q) {- s0 [
  组织 : http://www.safekeyer.com/   (欢迎访问)) |& e8 i9 u* j  B8 w3 E2 d0 b3 c

& X1 n; N! w& g/ D8 ~1 ]9 ^4 k- wauthor: 西毒    blog: http://hi.baidu.com/sethc5  \$ s* @% X$ y) U

- V' ?5 V3 ?2 w' w     3 X: t7 {0 o0 A6 M# S& F8 H
. r2 |. o8 F$ z
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.7 M7 n0 m8 o5 o9 b; e

& R- X, q$ i7 D# p+ ^过程不明显的我就省略了。7 u" c- C: O8 }2 N: R
" k  C; R4 i& q" j3 F- ?/ B
在preview.php 中第7行! W& _- u) {5 \' r2 F( |' e

8 U, s, S; U, t8 z' ]  v$r = new_stripslashes($info);8 l( X: H9 `# ?6 z

0 E8 a0 @5 n/ M- V/ a我们跟踪new_stripslashes这个函数
& Y8 G. |/ G- a" n1 D  \. W, v% x
* a# h+ l: {* E& o' O在global.func.php中可以找到1 M0 q$ o" k. C4 w  h# `5 X) w

- G& J0 ]! V7 n4 [1
0 A+ K, H/ y( a. y% c28 M, R# K- `) S, e
35 e% \# [& _  P! Z- S0 k
4
  s( x5 S/ R- z6 j; c1 R+ q5
3 h' W  r" S# ~2 l: z6 function new_stripslashes($string)
4 F" {: ?: _( S3 O- w) G0 g& P1 g5 P$ W{2 m) I* _3 K1 U1 W( w# o3 O* t
    if(!is_array($string)) return stripslashes($string);
: p. G6 r- F8 n1 i    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);
2 c2 U5 N1 U/ j; L: y5 @    return $string;
& a( S: h! ], e. o- T}
4 O) }% @; w. o6 U) a3 h' q0 f4 U7 n
这个函数的功能不用解释了吧; y- B5 d& p5 ^" x7 Z) \) N" g
2 x5 C- c+ {" R* z1 t* r$ V
所以我们看具体应用点再哪?
$ s: y5 M# |4 w) X. Q# w' h# Z6 x4 _2 c8 D8 }. ]" W
14 B2 ]( U, D; Q
2
7 I7 `( @: {' T; P3 V: Q3( r& [- S% l3 G# b
4
4 e; f# U: L  I0 W5 ]7 a1 G5* I9 ~) v: l5 ~# X7 f
6& E& P$ F0 v6 b" l9 ~: O2 d
73 `* s( h2 p$ `7 w# L; ?* `8 B7 B
8
- b0 C" e, f) y$ }( v9 {93 u6 N4 D: K! B) L% a
102 I6 P2 Y3 t3 j' l9 g
11
* R1 P1 p* S' f$ ~9 V# K: j12" w4 P& t# _2 g; ^  A, u1 [2 j  F! y
13
! N) P5 i, O# c, |1 P8 j  s$ X14
& G! y  ~" ^) d- m7 G$ g# S( V15
5 x8 Y' J7 H! @& M2 {16# Z9 m$ |  O6 q7 D8 o1 I
17, Z3 B$ E9 }7 q, G: k# p. W
18
& _' R. D) p+ h+ `7 I9 J19
7 q; _2 m2 E) s  A& x7 Z20
& V5 M# m9 l  K1 O) L21! q) y" D  V$ _* Z" k
22
% n1 g$ ^1 F( e2 }" r& i6 W23+ d( i% P2 b+ ^" h/ g% a, d) N
24- ?; x* ^. G( [* V& F
25
, o, A4 i# ]8 I' i26! g9 \* w5 w7 l4 g* P8 F9 n0 k
278 ]8 n2 K8 ?5 B. n" t7 Z; h
28
+ U8 A3 Y9 G2 g292 }* z# |$ v% o; J6 ~
301 K) B, B0 F) s3 n" a
31
6 T. D' o( c. h0 Q, Y3 V7 R32
$ f8 W" f+ `& [2 r0 `33
. U1 b0 z; E/ y" Z9 X; X8 {348 r9 f$ h$ Y- b, f. c. o9 c
35 require dirname(__FILE__).'/include/common.inc.php';
& w0 a+ v- t7 n1 \4 C" U2 iif(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了." V1 x# G9 \& ?# x3 I8 }
require_once CACHE_MODEL_PATH.'content_output.class.php';
& a% H. i9 f& O. Q# ~. Brequire_once 'output.class.php';
/ s# }- ^! d( ~5 C3 dif(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了9 D* ]: p) `8 c2 r6 \
$r = new_stripslashes($info);   //反转义了.....关键; p; q& [& h" x% p- T
$C = cache_read('category_'.$r['catid'].'.php');
7 e  R2 B2 R  E& A" H# d( T+ U$out = new content_output();
  A/ o' S! K, q$r['userid'] = $_userid;8 M5 C% n% K8 n  ~: f! @5 x) ~
$r['inputtime'] = TIME;) p; X$ [& V7 R( N) Q# A; f+ c7 I
$data = $out->get($r);
2 L: N! P3 G- ]6 a2 P5 I: Kextract($data);
* h, h# q* [3 g7 v" q( _4 v1 w$userid = $_username;
1 z( }& W/ I! ^6 k* N# gfor($i=1;$i<10;$i++)/ _5 M6 L$ x3 b' Z$ T# k+ z
{
" x  i& |) V% C7 D$ b% `6 E    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");$ `" x5 Y6 n9 I) ^5 a1 ?
}
4 c: z+ `/ ^; G' [9 l        
0 U3 F2 w/ _* l$array_images = $str_attachmentArray;
7 H) a7 w' g" p: g: c$images_number = 10;
* B& q  x# p! k- `/ m6 j: Y$allow_priv = $allow_readpoint = 1;. j% G1 r2 c& w. A
$updatetime = date('Y-m-d H:i:s',TIME);7 v% V2 Q4 y, ^' v1 w: z9 n. x
        % ?; s6 I! |" b( B: K, ^
$page = max(intval($page), 1);6 i7 |& K2 H! j
$pages = $titles = '';- S& u% L3 d6 G' t/ l
if(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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