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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......
9 x6 e* Z6 M/ D. @) v
1 V$ _8 M8 b- x   要转摘的兄弟们,你们还是带个版权吧!   
" i* F8 f- R2 g/ R6 h, ^7 F; y! ^
  组织 : http://www.safekeyer.com/   (欢迎访问)
" x9 i. ~4 f6 c- e$ Z9 t, E2 H& J- ~  H& V: W/ {; V
author: 西毒    blog: http://hi.baidu.com/sethc5
$ ?. e& h; A! |1 z. a: w) x2 w6 P
; I: t7 b! f( s) v     
3 F8 \4 ^; o9 F2 C4 z; b0 j1 \7 r# c5 E( O& i
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.0 }: @* C1 I3 v) {2 o$ {6 V

' W+ Q3 N+ {1 `8 `. |4 Q4 C过程不明显的我就省略了。. H) J' \& B# F. `. v6 L* Z- F
6 `$ t2 [" w! z9 Z  b! o% B0 ?! Z# E
在preview.php 中第7行/ C( b4 V1 \3 O# V* b
  @3 `" e8 Y" H$ s1 V* A
$r = new_stripslashes($info);. ]# k! p9 P9 g  c3 ?

  a, s7 t$ |! f% z- E我们跟踪new_stripslashes这个函数
9 r, b, {2 K) \7 t4 I& ~2 Z  C* H) F* X* f5 K0 a
在global.func.php中可以找到
; x4 I9 t. Y: I4 v7 i* M3 F- j. K/ [& K2 |: B6 X- H8 S* E
1
5 }7 l6 ?( ~  `. a2 n2& ^0 F3 j, l% e% g4 w, k0 ]
3- }9 w4 H6 ^* i. E" o% Y& }1 E- S; u
4
+ Z0 {3 @6 Y# D) a7 y0 x5' K: @& b7 n" S' T, p* z
6 function new_stripslashes($string)% Y* m/ F4 s- T1 ]! A
{# j$ D* q- H* Y. x# y
    if(!is_array($string)) return stripslashes($string);
$ [% O3 V- q- Z1 j    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);
, N) p1 B) o/ L, Z. e    return $string;
7 h& x* M$ B0 a2 ]$ t} & Q( p0 e$ b- H+ ]  b6 B
& Q8 {# f' [2 O6 h' x) S" F
这个函数的功能不用解释了吧
1 C) c" Q# `8 Z$ ?& q* x
& S/ ^! J; K3 s" T7 m所以我们看具体应用点再哪?
# J) H! o' y, f5 @4 J
1 `/ U* F! j! @5 ]; `' A$ b1$ [% u0 U4 `6 V/ t: x% k) s
2
& c# G! f9 M+ E$ M2 @: b3; `0 X& E- Y; \+ d7 _% p0 {
4
4 E6 @: L4 V* G& s5/ C! |, k+ I" w! d% a5 k
6
* j7 |- [) j6 F' c0 u7
0 R( `6 T/ f3 z) v9 X) x- j# f. e% |8
7 X2 R+ @. _& D0 g9
/ a, Q: l6 [) c9 P$ G) U+ l10) Q; I! Q/ E0 S3 d. L! ^8 s" c
11# q$ `: T2 D: K, t: v
12
6 R( E) B; h# q8 O- i& n! n130 R; E. ?# M+ m2 C3 x2 C( X2 H1 n) x. O
14* U$ s" p/ y% N) z
15
6 l# \5 \: v4 g9 W" o1 A# s164 S3 Z5 U$ k" R
177 \$ t- _1 N' A
18
0 P! S9 j  V' u( L1 Z6 P) N19
2 V% W. I( B0 `# _3 m) E$ Z* Z20/ U/ z2 [7 |) z) w; O; \
21+ u' y5 ^0 a: {: q9 J- p
22& t* ]1 }: ^! Q1 P5 h1 j
23
4 M" I% C: k0 M4 u9 ]24" X3 {$ Z0 W. F& U  e8 D3 k
253 O; F: {$ E# T1 B3 \+ b
26
& X5 e* M: P) e9 o8 {270 j2 y7 r8 E% f4 [# ~+ S; J# ?$ U
28- t. v: q) h+ x. ]. }+ }
29, c8 i8 }2 z0 H2 m  B
30
" l( \7 w! X2 M31" J" n9 m- A. V. G
32& j8 l" y  j% y
33; S( v) o, j+ r$ p% R$ S
348 W6 ]+ R# D3 _# @+ o1 s
35 require dirname(__FILE__).'/include/common.inc.php';( ^0 V" `, W6 p& Q0 Z* j+ |9 ?
if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.
/ U7 N4 U/ G! O/ _) [9 U: V4 Hrequire_once CACHE_MODEL_PATH.'content_output.class.php';2 o6 N$ x2 N! B% o/ O
require_once 'output.class.php';8 W4 {9 q+ @: ]4 b7 {; v9 M  t) ?" U
if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了% O( {& \) w/ t& P5 Y
$r = new_stripslashes($info);   //反转义了.....关键  f) W- A; A8 Y
$C = cache_read('category_'.$r['catid'].'.php');
+ ~& P( d8 k* i& T$out = new content_output();
1 |% K: M& f# x% h8 b$r['userid'] = $_userid;
" o2 [5 \$ s; C+ H+ B$r['inputtime'] = TIME;
+ ]! ^8 c8 p# W0 s2 E" V6 ?6 ^$data = $out->get($r);$ U/ c6 n3 f' x, _0 {$ H! F
extract($data);
5 Z' C6 W) y  A0 K$userid = $_username;
1 l6 `6 Z! A6 Y7 z8 bfor($i=1;$i<10;$i++)
+ I9 @; S$ ]% P/ S" M' _{
! N1 J, m/ R! O( _3 K% [# t* M    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
0 N3 |' z0 S! `: ?  ~. N% I$ S# n5 {}
; L& [* D2 W9 O) C0 A% i9 E        
' a  l3 L. v2 E) H" w$array_images = $str_attachmentArray;
7 R% B- |( R. k$images_number = 10;! o# I# X& q( T; }
$allow_priv = $allow_readpoint = 1;
! G; A8 T8 W* k. y* v1 X8 \$updatetime = date('Y-m-d H:i:s',TIME);1 j# z7 A. F! O( X# A: r
        
3 `7 o2 x# q' }" t' m1 P$page = max(intval($page), 1);
" T0 |+ n, D' e; _$pages = $titles = '';; d  T% y- M7 Y  m' c: D# B
if(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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