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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......
+ |2 r; p3 w" Q6 ~$ P
" e' t9 F- Y6 w  T- D   要转摘的兄弟们,你们还是带个版权吧!    6 M% b( d. Z: g3 a& k8 A# j

0 S2 O3 N8 B1 ?/ X5 y  组织 : http://www.safekeyer.com/   (欢迎访问)
1 G* h" m0 R$ Y0 X% c) d8 E, s' R
  o1 \& c1 F* tauthor: 西毒    blog: http://hi.baidu.com/sethc5
7 }! r% O0 x1 r* P3 F6 P, j
- Q0 }8 S' p# Z. X" o4 w3 D     + u+ _9 R! c4 B0 O
- @( ?( l( ^- Y6 a5 K, w; B1 `
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.( G# _* \% J- B; @

( b  _6 D' h, i3 N过程不明显的我就省略了。
/ `1 {8 q" R0 p$ Y0 g- b1 ?; \
) ~2 |! r9 k4 F) U6 Z3 @: {' |在preview.php 中第7行
" X) @, F' T* _0 r. j+ S! @8 S+ N2 M$ v; g
$r = new_stripslashes($info);/ l( A# u4 T6 w8 @. Y
& l5 ?( ^' _8 U
我们跟踪new_stripslashes这个函数
8 Y% G6 ?% J; ^- K- ^) B7 u1 S0 U8 j! G/ A0 Q2 m) m
在global.func.php中可以找到5 D6 C  x; r* N6 o$ F: \* B
* K4 G1 q' L7 s3 n& o4 T
1, w: |3 X+ ?4 i" G, p3 V/ _+ x
2
: L" ]+ Q) j% N% H. S0 t35 p3 Q5 q! [& [' w3 k1 E, t# t
4
8 l7 r9 ^1 o5 U7 [5
8 i9 f% R. w, F2 f! r6 function new_stripslashes($string)
# ^2 |* H# v/ B: }5 ?{, A/ M' Z# Q1 [- M3 x! `) h" K) K
    if(!is_array($string)) return stripslashes($string);
# U: e# O& g* N1 e. Q, m    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);% a5 V3 j1 o' l2 K, S; A/ z
    return $string;
. b& C# t% Q. `0 ]5 U9 l5 s- }} $ e$ `3 O/ w+ g$ P9 u6 m4 Q# s! p( A3 J
- q* m3 W( w; G6 O6 U9 r
这个函数的功能不用解释了吧' }) v# M  v5 }# Y& B
* \5 h" t$ Z+ ~- C
所以我们看具体应用点再哪?
3 }; g$ T9 ]: v( x9 y6 S. O/ S$ ^1 @( z$ K- s4 {$ e. _
1
6 ~/ P% O; K6 {2
9 d6 {( O7 g& |9 N1 _* N5 c& F* M3
( m0 s6 ^, F. H& X. v6 a4
) r+ J) w% F- [% e! l5) R; c, M% b7 {1 w
6
: X$ S6 O- ~2 s% [' Q# i# M7
# _6 f  D( K+ d& E7 G' c; x8
/ L/ j! A% ~. a/ _8 Z' X9
5 p8 Y" [9 `; W# e3 o/ n* m6 H10' p" z) B! ~/ K3 _" z  F+ j3 Q
11
0 Y( Z, X& b3 S% k* ^8 [2 {0 E( r12
% n5 g: o# D" v5 D13& m, s( d* Q" F  ~
14
8 Z' g5 q" p% h( _15
, E0 \' i9 R5 J) v16: b% n2 C4 k5 I8 i6 z4 c
17
; d3 i& P' N: a' z  ~$ E' ?18- Q+ j9 \6 M$ L
192 I1 V3 {5 G# S7 {! V( w
20
: l7 c: ~  ]2 m! ]' `21' _5 x4 f& M6 L" G
22
3 J  z" w7 c% _! s; G# E; {, X23
/ t1 s8 Q) c  K( \! V. |& L8 t9 _240 R  j0 X! }8 f( C! J
25
& }; @3 ^9 x& }+ u! f3 f- u. M26
0 R5 F4 t+ g* @! W! b- A9 n276 X( O, d8 `6 L( g' ?% o+ J. s/ D
28
6 f: ?0 t6 Y3 m$ w  q29( Y5 Z7 v3 u. L4 \/ Q
30
9 y9 L4 D% r& W$ ^4 h316 q) c" d# K  ]* ^& u
327 {% A3 C" p# W! C7 h, w
33
1 `  w( u0 \, L' B34$ c! F. z6 }5 m- D7 g" A
35 require dirname(__FILE__).'/include/common.inc.php';
" _8 [* v6 ]7 X& E( E( V, Bif(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.2 S4 v) |$ s0 G# o6 i
require_once CACHE_MODEL_PATH.'content_output.class.php';
: L" ~3 s) k$ ]$ W  O+ brequire_once 'output.class.php';1 p6 D( u) m, `
if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了/ A: N4 ]( S1 h2 o
$r = new_stripslashes($info);   //反转义了.....关键" m7 ?- m# \! ?
$C = cache_read('category_'.$r['catid'].'.php');# s( z  \0 ?1 }) j5 h. P) H
$out = new content_output();* g* F, R% j" g. v& {; A" }, w
$r['userid'] = $_userid;5 E$ F: w0 m# ?/ u( f! @% ]2 S  l
$r['inputtime'] = TIME;
* d& s* J, Q: e8 ^4 j; R" \$data = $out->get($r);* I$ w- ^" x" K6 |
extract($data);
! X( H, k$ G/ j& c% \3 X- u$userid = $_username;
+ ~0 ^# L* X$ Ffor($i=1;$i<10;$i++)
' O  c/ Q5 S5 J# [{1 M0 @+ m3 x5 w2 W& u1 @( C
    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
( N5 j1 r- ~% e2 K5 m6 J}4 S' n4 y8 x- N, C# w
        1 ~. n& }8 w3 H4 a1 l
$array_images = $str_attachmentArray;7 v- `2 D$ a: ~7 }4 d
$images_number = 10;5 ~$ s) n! I& t: ^5 s
$allow_priv = $allow_readpoint = 1;
# U6 B+ w- Y: N5 z; U& ~* t' \$updatetime = date('Y-m-d H:i:s',TIME);
: X6 G0 |* o) d9 r- S, a5 w        & B+ d6 W, x6 n, `
$page = max(intval($page), 1);2 {4 z# f& j$ S. M
$pages = $titles = '';
. D% b) U  L0 T1 P" Aif(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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