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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......
5 t3 v" ?* x! n, l5 X- r
  o8 G3 y$ P; b   要转摘的兄弟们,你们还是带个版权吧!    ( u; p$ t4 H$ a+ L& Z5 p2 R* P
- g9 `7 e1 u3 D$ s
  组织 : http://www.safekeyer.com/   (欢迎访问)7 A  X8 X& p* s7 X
0 E, W; L% [6 Z: x
author: 西毒    blog: http://hi.baidu.com/sethc5
  G2 h+ }1 W/ X2 n0 l' p' B/ X: f  y' Q
     
; I5 W# [: `; K# W- a8 s) Q+ Z; n  o- X, }0 Q1 [9 `7 j
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.; B1 N: u; Q& z

5 \2 J" s4 d9 N0 K* G过程不明显的我就省略了。6 O& E: J+ B4 u3 M% K2 H
. ~) J& h# s; L2 c/ O
在preview.php 中第7行
% T2 k2 y4 n9 x- r4 q; m9 N9 W, j9 B6 l0 G' L
$r = new_stripslashes($info);- q% _! h3 ]1 h
1 \6 r  f6 a  h5 p4 W
我们跟踪new_stripslashes这个函数# m+ D  p% b3 x1 t% |
8 Y2 R* g$ d- O7 H6 T
在global.func.php中可以找到
* h' E6 J, p/ S5 A- D& B4 ?3 F5 Y- m
11 o6 D; v! `/ j: E
2
4 j2 Z( ]' J  i+ ?. S$ Q30 }& C9 u+ b. ?6 Y' h9 V4 `) [
45 L, Z! i6 j, q  Z) i
5
/ }( V9 a; Z  o: h* g6 function new_stripslashes($string)
; |$ p/ _: P5 L7 N! w4 D{
! \1 L) b& v3 ^3 n/ s    if(!is_array($string)) return stripslashes($string);1 _( T, L0 \/ S
    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);
) R, |. u# _0 }% C5 a0 n    return $string;
5 u" F+ i, ]! X}
  t, d6 N* J6 f+ n7 D% a7 _0 i% T: F  v4 c. ?+ f* y/ n
这个函数的功能不用解释了吧
: V& Y1 F) Z3 A: N3 }" q0 y" S9 U6 s* P$ w4 q5 }/ X1 h3 W
所以我们看具体应用点再哪?( t# C. u2 y' D0 T6 N

- C4 T! s9 {$ C; K1: f% K3 q* ]0 y
2, S5 E5 B0 f! `
3
% u+ [% I4 s- o3 F4
$ p2 I' H7 B' t+ k5
  E5 x- K) _7 N8 _' I67 d' s/ q" L6 Q9 _1 F" W0 P3 `
7
& M2 j# G7 n7 k0 R  L8
! N* {; w; a& Z4 g9& E' t1 L! f; Q: ?; Y
10
8 N  y: D; i( {) ~8 y11
! D: N5 ~4 q0 Z! g12
$ h% _  u1 {: ~& ~& f13
- T) r* T8 W1 P0 ~141 [3 I$ c& |" O; J. A/ i
156 u& e* _; ^) M
16# H0 g" `! A+ c# j5 \- L. |, T- R
171 f( t  P4 q3 p. D' S
18
  V4 z: l. g) j# ~' ~( J191 |: ?4 m9 |. m0 ?& ?
20% J3 z: O& r' ^" L6 I
21
) L4 y  D4 E5 ~- A, n5 }& k$ a2 s221 \. W$ c  Z( D3 M3 f
23( @  e# X! C% \
24( r% E' g( s8 T2 J
25" j) y3 |- F6 C2 V  M8 U0 h/ J
26
8 ~7 n1 J) }( N1 b  S1 j1 O8 `27" n/ P3 m3 Q2 l3 A$ ~5 {6 c" _7 m
28  x; f0 `# H; w% ]" U1 q
29
$ ]4 o3 S. g) s4 \/ q& ^% J30/ y9 d7 H5 J9 T' y! z, Y4 Z
31! |0 p, E( a2 Z! E
32, R* R5 H" v3 n9 ?" r/ z
338 ]' E. ^3 K' r+ f9 J4 i3 V* Q
34
7 u$ |$ n; n% s) V9 z! d( X35 require dirname(__FILE__).'/include/common.inc.php';5 ]4 v2 n' d9 l. p9 c! Y
if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.2 f* o+ S2 G5 d4 P1 g% M$ O
require_once CACHE_MODEL_PATH.'content_output.class.php';, Z1 {0 O) ~# d9 K( f
require_once 'output.class.php';
/ `: |3 y% s# {. B( G5 V+ Bif(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了# _  m/ S: N% i. a3 O% Y
$r = new_stripslashes($info);   //反转义了.....关键
( d% x. X) P; ?2 E$C = cache_read('category_'.$r['catid'].'.php');4 a! {1 Q6 G+ g' w( d
$out = new content_output();
8 k0 C4 g; m) n; t2 _# \$r['userid'] = $_userid;, z% ]6 d- Z; ~$ `. X3 n6 G, l
$r['inputtime'] = TIME;; g5 S1 w: w- u0 ?& e, d
$data = $out->get($r);- t! v0 b3 R" ]. }8 L" R
extract($data);# R  J* q# W( A" e
$userid = $_username;
; a6 q4 E0 R1 mfor($i=1;$i<10;$i++)8 K1 }* M. x8 B* J5 o. n# Z
{
3 Z; t9 k% x9 U: N$ D2 Z    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");- e/ x, Z5 d+ W( g( [
}7 J7 \/ y) l% W3 P
        
" I, T8 f: B7 f4 x  Y) h$array_images = $str_attachmentArray;3 k& L2 I6 P" z7 |  ]
$images_number = 10;
; n' a- T  f2 Z$allow_priv = $allow_readpoint = 1;
. G% f3 \6 S/ C9 z* ?& ~8 M$ p$updatetime = date('Y-m-d H:i:s',TIME);2 T. L- s1 b  z/ o
          y$ F% P+ x+ [( E
$page = max(intval($page), 1);
; x+ A# B# p  X; A* M5 j$pages = $titles = '';" b$ Z* [' V% R! y3 g  R
if(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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