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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......3 Y* f+ `4 v( U! F. N
# Y6 ?2 x' P  P/ u; w* Z1 o' C6 Z
   要转摘的兄弟们,你们还是带个版权吧!    ' a1 d# g1 i* j) }$ u! L3 ^5 P, L

  @: L: C! Z1 P6 }8 d  组织 : http://www.safekeyer.com/   (欢迎访问)
/ F- Q6 J+ _! f$ d$ Q/ a( E2 g1 i& I6 L9 `( ?
author: 西毒    blog: http://hi.baidu.com/sethc5" Y4 I5 S, K& M9 |& N+ S
( {6 ]0 w5 G( ^! n: `% R( U  f% C
     
+ e( t* r. w( l1 K# A
8 m2 u5 J. ^0 @- T, f6 q其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.
5 G% ?+ [+ x' h4 G
6 f/ ^* I3 l' x- j+ ?* h过程不明显的我就省略了。
2 n) Z7 F8 L. g4 L  b4 q9 j% \2 A+ j$ h- L2 |' s& F4 Q/ U
在preview.php 中第7行
6 j5 z' Q: e: E$ E
. t% P  F. J  F! n' X$r = new_stripslashes($info);2 x, M; U1 }- [: q5 x1 c4 {2 [
+ S5 D; `! w7 ]9 Q: N0 a
我们跟踪new_stripslashes这个函数1 S6 w5 X; ^8 i' W1 s
' |2 T( Z  P1 k$ L
在global.func.php中可以找到
& K, [/ j4 T$ k
- V& K0 J! Q! y6 b, T/ T8 u2 H1
2 l6 m* N; e2 B* i2
" ^) V! }+ T+ v! x35 I1 j7 t/ N# Q) O, j) o  W
41 E: k5 z- p# Y: n' d
5) L, I# C1 S- x1 k- _- A  Z& `
6 function new_stripslashes($string)
/ w+ U! I/ V3 G" y8 u0 h, x: x{) W8 F0 z, |# _
    if(!is_array($string)) return stripslashes($string);
- `9 X$ g' A" H+ G1 \" b6 {    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);
" H! I+ [! \  \' C    return $string;
2 [) i6 K! R; d4 |) c% _} ( c' g. U4 B$ V+ f
2 o3 H+ i! W( r0 `
这个函数的功能不用解释了吧
: S6 ]" F8 g2 m6 a/ a1 a" d: h: j+ A! S3 X
所以我们看具体应用点再哪?
0 U& j  T+ @3 V$ f" W1 E9 l  m
$ k, Z* `, m' y. F( s) h/ R13 K( l. T# F- s
2
  S+ w, B* N: h  f- j3
0 W6 F$ o, f# l, y: T# z6 W0 e3 O4
; G! ~$ c% |, i! s$ N56 B  U/ ?  {* [! _- _
6! L) ?+ g# u1 C! |
77 A# Q3 i5 `* c
8
# J# M' u7 L1 V. t9
% d: o3 |/ t' r; c100 X- p3 B* [4 B) A+ g- ?+ N
11
3 u# J; P4 o7 C0 B$ A9 D+ X12" P+ Y( k0 u  i6 o) |3 i
131 B6 X  i" w* w
14
3 ^! p; d1 N1 N1 K15
  B. w" D! S; j6 S16
0 H7 m. v) s8 L, F) B) G! M% r17
. Z  Z9 v- [+ P- s( w: T$ I4 t186 E2 m" N+ _; M4 u
190 Q2 [' F6 f, f' `* X' w
20
# a. E* l5 o9 t1 X1 Z+ B. T21$ F% `! Z4 q  l* j4 D6 E7 H
224 C7 D4 I9 |) R+ H7 f! V
23
$ k% c& `1 q" K, v; J24
+ H2 r8 Z2 x( n  ^" _' @25. R! S5 z; S: C# k: F! B
26
& B/ z- s0 t  J1 g27) [( C$ @/ Y  b( w+ w
287 [( F! y. W- G, _4 E2 Y2 d: Y6 `
29' X8 v9 T6 F0 f8 x3 J: ~/ Z
30
4 u. R! t. C8 \  X* v31+ t" |' c0 }7 C! {5 D( m! V4 c
32- T( {/ \( l  H
33
* u9 I' n& U) q( F3 ]$ Y$ X  R4 L34" [/ T1 p9 w! }# I& ]
35 require dirname(__FILE__).'/include/common.inc.php';! D% _/ X, u* v
if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.
3 `8 E1 J, N2 I& T4 trequire_once CACHE_MODEL_PATH.'content_output.class.php';
4 `& |' a/ ~1 y+ ^* Hrequire_once 'output.class.php';
% K8 l3 B7 F5 K1 R$ Iif(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了
& b! H7 H, W8 @  P$r = new_stripslashes($info);   //反转义了.....关键+ |* a# x6 C& T; r) Y1 c& @
$C = cache_read('category_'.$r['catid'].'.php');
( J- s8 i$ s; [" E# V6 Y6 n$out = new content_output();, c$ R- @! x8 x& k
$r['userid'] = $_userid;0 ?+ X; S% |# W
$r['inputtime'] = TIME;
1 g0 k# K5 X) d1 t/ a, k$data = $out->get($r);
$ A1 C. J6 y/ [# l, f: gextract($data);, a, J6 J% \! @
$userid = $_username;8 E$ t6 @5 P$ p4 _8 s
for($i=1;$i<10;$i++)& y# l" W+ h+ k6 |3 z1 p
{
" A" e+ d) q7 Q5 T    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
6 H" f# l! [: X! t  ]3 B7 ~* c# P}
4 k" ~8 S) B4 J- Y) }: B2 b        
) q* C3 q; f7 ~% X3 \0 ^. p$array_images = $str_attachmentArray;- n4 T5 a9 P5 h& F0 a
$images_number = 10;" X1 u, [7 }1 ~$ L
$allow_priv = $allow_readpoint = 1;: V& U  B! z& R3 B) }/ I" b
$updatetime = date('Y-m-d H:i:s',TIME);$ o( R! K% Q; @/ J/ O5 S
        " ^5 W: u) D; }% B; `
$page = max(intval($page), 1);
7 @1 u  ?/ J% c. a& k8 A% E$pages = $titles = '';, C5 y3 M7 l" ]% N$ q5 N
if(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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