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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......
5 S; d$ q8 i$ P* V) x$ ~4 G! h, O. E- p0 O
   要转摘的兄弟们,你们还是带个版权吧!   
2 u0 ~/ {' J; ?) u: J; e3 j: D) a4 |2 r
  组织 : http://www.safekeyer.com/   (欢迎访问)
/ E' p/ b  n4 w& ]; |$ S- `# @9 i& z. G: |7 N) k: J7 R
author: 西毒    blog: http://hi.baidu.com/sethc5
, g: }2 g9 V9 V) g7 Y5 o. X1 @' o- P
     % y2 k" T. V3 k$ z+ B6 R- [8 @' P
- ~1 s' }' {% W' i) h8 r
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.
! t& `5 `* B' F  T: _: p( U
! ^- F, v9 |& K2 ]7 Y% c% n. y- T- ]3 k过程不明显的我就省略了。6 Y1 s8 I# [6 [
4 P) ~6 p' e+ n: z4 P
在preview.php 中第7行
9 u$ l; m6 `0 y/ @! h6 m: s6 P3 v% U1 S, `' z" z
$r = new_stripslashes($info);! ?* [9 ~6 Y# E, o: m

/ H  _# W" Q3 p( u我们跟踪new_stripslashes这个函数% i+ Y3 _6 ~' o7 [

! V. D, u1 Q! g在global.func.php中可以找到! d' a) {7 I' d% B, i

# A; h$ O& N" L% ?, O  Z- X8 v  j1; q% r( E, P7 h0 \' ?" N' A" G
2; N: ?% ^0 n8 Q! U" m) ^
34 X: V- O% l2 w- x! J
48 Y8 v9 z! [, T0 k* b/ e: _1 k2 P
5
- a7 @4 t2 }2 W/ k+ ^- w' T" H9 s6 function new_stripslashes($string)  B; |, |2 N# A9 c
{, A) b0 T0 H( [& U7 V
    if(!is_array($string)) return stripslashes($string);' {/ u0 z, V" j5 y" @1 z
    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);6 v% J. T8 b. |
    return $string;2 J; L6 F4 m- _( p
} 8 i" z% I, \9 [! n0 t( J9 W
# s: [9 Y* z9 A/ ^! K/ a1 N8 L' J
这个函数的功能不用解释了吧* K: `, j6 f/ H5 _( F% E; Y* U5 q

! I2 X" ?1 I% ^% w( I% I所以我们看具体应用点再哪?
8 [' X( B$ u% e6 e# t% k- X# ?: e0 ]+ e8 n% H2 ^% m. R7 x: O$ s
1
) A/ t" g1 h: i4 W+ j2
7 N8 y, z$ E3 ?" K3
8 C# _/ Y, C! e40 Z, A3 H; ?, B; e
5
3 X" t$ a3 _( @6 F  x" }* x6
' M& U2 B6 Q& Z- b1 B" i. d3 S4 I7
) q3 v3 m9 C  n8 }9 `8 m5 I: b8
  [# {5 W: l+ v% f  s+ k9) o: c7 f- W3 G
10
0 f1 b( H. ^9 Z, @+ k; e1 y117 U5 M. \1 d  ~: S
12
* A% }6 ?# b% S  ]  G0 f7 F" w135 O9 }' z, \* {' V0 x  N1 Y. c
14$ B7 T# k! W' H1 n2 r& v
15
2 L9 ]7 F: W' C+ |+ R16# k* l, r% B1 |  `& g  Y  M6 E  I1 e, j
17
6 p' O9 ], C8 r! C2 P18
! Q9 T' Q0 |. b. c( }19
& o6 T: [6 L" v. o  h20
0 }! v7 [  C" w9 G; C' |( Z# d21! |  ?  W; K' J/ W: u1 f. N
22/ N/ R7 Q; |6 a8 n/ T# b1 s
23
) C( Z, P, Y6 b8 o7 {; m24
, O6 s( f+ ^! Z25
+ m% h$ r( j$ E0 D; V8 o+ l( W* b) }26$ X0 f$ V. f: e4 p& ~" t4 q0 ^, f
27
! G6 ~4 M0 q. B! G  @2 O28
- q" h* u5 [9 q, t+ [6 y29$ S% }, l$ c, R% W
30
! X1 K+ }  a! Q, R: Z31
8 j$ ?: m$ Q9 F- P) r32
+ }) ^0 b+ P0 S0 U5 l333 o( g) A. `% g- E  j
34
/ h2 z+ |4 r  z0 y" G' r  C$ L35 require dirname(__FILE__).'/include/common.inc.php';7 |0 i! q- p4 e. r
if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.
7 Z+ J# D+ }  f5 rrequire_once CACHE_MODEL_PATH.'content_output.class.php';
" t4 R! l* C2 |- j0 wrequire_once 'output.class.php';
' ^5 u1 J- p0 [: `; N/ h( vif(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了0 s+ n; m& v$ b
$r = new_stripslashes($info);   //反转义了.....关键5 [- z2 c2 Q6 k: ~% R* O
$C = cache_read('category_'.$r['catid'].'.php');$ E3 c9 F$ _9 _
$out = new content_output();
8 R  m, P- o' X  H' a' u! X$r['userid'] = $_userid;
5 s2 \' _- j4 N  c% k0 e9 [$r['inputtime'] = TIME;1 O2 R" W, I  y# j# f6 ?
$data = $out->get($r);
" ?- b7 ~8 @4 e7 ^; ^; U7 Iextract($data);
: S, ^9 n% D- U6 u( N4 H1 O* c$userid = $_username;" }2 `" Y" a4 X
for($i=1;$i<10;$i++)
5 a6 {5 k; k6 k3 l& p{
" c) K( J7 }% |% w' E0 L; l" |9 }    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
$ Y5 d0 m. J8 u}8 s! F% p/ t; L- \4 f4 }4 E
        
! j( N7 G, v  U& T$array_images = $str_attachmentArray;
" P( |  c6 e2 Y) T$images_number = 10;2 Y: e( B" q8 Y" U2 T3 S
$allow_priv = $allow_readpoint = 1;3 D1 ^) G. U; d
$updatetime = date('Y-m-d H:i:s',TIME);
/ q0 [0 s6 O( F5 |; D( [5 X: o( _        
% B# m) M* p0 {# B# E$page = max(intval($page), 1);9 }! c1 s6 K# G9 f3 b* G, z* ~
$pages = $titles = '';
1 r" a/ |' y3 O5 [' t" l: U; nif(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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