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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
说好的第二季来了......
) R! Y/ @9 W" ?6 E" u$ R0 j3 D+ ^* A6 j  F
   要转摘的兄弟们,你们还是带个版权吧!    - ]* {7 D( K+ [# `& \  `

# w+ _: t) f; z& U  组织 : http://www.safekeyer.com/   (欢迎访问)
0 z- {9 O( l7 a0 w0 P, Z+ q
8 \# }$ x; v! Z0 f2 _author: 西毒    blog: http://hi.baidu.com/sethc5
6 I6 Z( c( a8 j: `( X7 V: T! l1 P  a  n$ \3 f  f, j
     0 c4 y% d5 i" l) i& e' s

# \" R) H4 {/ S  [1 T$ g$ n+ e$ w. m其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.
3 W* g( Q4 V/ C1 L" X  j# k5 P7 e; I
过程不明显的我就省略了。) C' R& R7 N: Q. q7 S/ D! [) o2 X
5 H. U: {! q6 _  I+ f) n. f* f5 W
在preview.php 中第7行, ?! y+ u  E% K
. a5 M( ?$ ~8 H  }
$r = new_stripslashes($info);$ H! C8 }! R5 i8 w/ r
0 Y8 @" G3 R# m4 t2 q# ?, n# C0 H. t
我们跟踪new_stripslashes这个函数/ G/ ?0 I, d' i( J

: }& T- a1 m0 ~7 ^在global.func.php中可以找到
4 R* V* F' x4 N! @
; z- ~' B9 K+ _* J- J0 n0 G# A, o' Y1# }5 l, }/ H  \- {& V
2% n1 C1 p" k1 A1 u4 c5 h' T/ `
3
6 ^! N, X( _9 b4% c/ t% z8 G. F2 }1 q7 T
58 v& W, w& {! m; \3 W: d# @
6 function new_stripslashes($string)
5 k6 l( Q. H% ]  `{
8 |2 c4 g5 Z+ [2 f3 m, N  w: g$ s9 x    if(!is_array($string)) return stripslashes($string);
. k# C1 i/ i! {0 o$ n: {" X5 C( \# o$ o    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);7 w. Z$ X# Z3 b- A
    return $string;
- i8 {; ]- r, D! e* _" H, R} , ]% t! Z3 d7 ?; u8 M

3 z0 t$ f" Z* m' V' N这个函数的功能不用解释了吧2 a! L% U+ O! I; N) v- j% q6 |( Z

; ]' t, d) K" ^+ I, Q所以我们看具体应用点再哪?
4 M1 R5 e3 M; }5 R/ j; C+ U* _3 d: h
1# M( g6 y7 E( i8 V- A. ?
2( F# K6 T$ X' c) j9 V5 `; n* a  ~
3
  }) X( }# {2 @( k7 }& x4
. X" ^. J& \" y) ]* C5 u% U9 y5
& F# z. x! ]. R( ]7 Q- y# ]1 T- h68 K+ v' }: u6 ~: d: A3 a+ _
7. J( _8 x& [) l, M8 c
86 j: _! J/ w! n- r4 ?' w8 f
91 g0 c& s! q3 r# X  {
10
: p3 f; {2 Q' t% I$ S* O11
! q+ p, B  }7 u/ |- B6 j7 l6 X12
- M, s% y9 Q! Z3 d8 \! ^13( E2 v* y# T* Y( p1 l
14
  a! Y4 _4 x, |9 w9 G9 T15/ q7 x" ~) n- _# R& F8 b1 q# z
16
; `+ x7 f; o5 G; D/ k1 o! g17$ d  V6 S. I- ^. p
18( v" y' j4 s' j3 n* Q4 ^
19" Q  l; a% g$ ]4 ^  p/ X
20
. t  q1 A" i$ Z/ f! j211 |  ~8 c9 q" k4 J+ l
22
5 o! ?7 Y1 O) E; D- p23
% z' }; D" A# u. k24
0 L' `5 l7 g& M25
6 r1 J( t, _: @0 \7 n26
: d/ q/ e# \9 z' X0 p* P27
5 ]( i1 _) q( j# P5 ?$ A9 z& j28- h: h8 _  e* T
29
9 U" N" C# K& D. [$ p30
( j  ]/ N+ P  \" n: C4 d" D0 g31
1 h+ v  l6 o9 K; D32+ O; B" o% T; l" W3 Y
33
9 F1 x0 n. ~$ I+ \$ ~34" I8 r* u# |& @1 T# K4 L
35 require dirname(__FILE__).'/include/common.inc.php';7 @: m1 n8 b) U+ D* @. e8 |) g: @) f
if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.
& K. B- _2 l/ ^9 k& `1 trequire_once CACHE_MODEL_PATH.'content_output.class.php';
2 p3 f% \: ^9 b5 v5 V* H- frequire_once 'output.class.php';. ?$ B! J, |# l6 F5 q
if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了
+ u( e5 y+ h7 {: u1 w) \$ j$r = new_stripslashes($info);   //反转义了.....关键
; B' q3 |/ }. c9 u$C = cache_read('category_'.$r['catid'].'.php');% ~" T$ F5 A% p6 ?
$out = new content_output();; H# O% k2 l2 ?# F( f" ?
$r['userid'] = $_userid;
% `" [' ?$ G7 o: y  I$r['inputtime'] = TIME;+ q/ s! U% V3 m- d7 z' @2 X
$data = $out->get($r);$ N7 i* Y! Y9 B/ G, \
extract($data);, K# q. s8 p. h+ X6 L
$userid = $_username;
1 A  D+ z& o9 i4 {3 [  Afor($i=1;$i<10;$i++)0 P1 m& L) {3 ]
{
  N+ e6 }3 [3 \! g% Q2 X% w    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");  ~% I" \! L4 b4 I& H
}
* d- R4 g# h, \$ B        0 A5 U$ s+ J5 O& _
$array_images = $str_attachmentArray;
. a. m& z( Z# O  p5 q& B$images_number = 10;
3 h' f# c" T! S' `$allow_priv = $allow_readpoint = 1;
; U2 O4 o! J1 [4 L7 |3 m8 A6 e8 ~$updatetime = date('Y-m-d H:i:s',TIME);
5 p1 D2 C2 l- g- P        ! F9 n- W; a) \% l
$page = max(intval($page), 1);/ w* H# b+ F: z# U
$pages = $titles = '';
. l$ x& B3 Z! \) u" u& ?6 Z0 U7 Pif(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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