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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......- S: R( v# I8 A9 l* c( u' c

( ?$ p- D' T) _; K' g, L   要转摘的兄弟们,你们还是带个版权吧!   
% h; `, r/ q3 H# n( l% N+ M
9 U- U" L9 J* n* b  组织 : http://www.safekeyer.com/   (欢迎访问); f, z* b* l$ u

9 K1 y! v+ }" y5 A4 }5 `" k, ?5 T. J% Rauthor: 西毒    blog: http://hi.baidu.com/sethc5
+ a* U* G( I" {: v0 S0 e' _0 z& f5 k  q, x$ G9 B& g  [
     
  P( J  |+ K( a( z& [' U& g
, h9 }; V8 g! Y其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.
3 k6 E, y# M+ a) L3 H# ]$ j* E3 y) V
过程不明显的我就省略了。0 j7 d& [5 A5 E$ r* _

1 H4 z+ N6 ?" S8 C在preview.php 中第7行
2 i, h  P# N2 z# d0 S: p! ]- ]! g# ]! |- M* T6 s7 ?' ?
$r = new_stripslashes($info);
+ z9 e5 W% N" N2 L
/ \) A$ v$ [+ v& Z我们跟踪new_stripslashes这个函数
. M' l4 c, d" z9 ?1 V& w
' K  {% b& K* B7 y) C在global.func.php中可以找到1 F. w6 G) e7 J: P* v- I) c
4 X# q9 Z' E0 N6 @
10 H; R8 J, F4 Y0 W
2: B, n! f+ r. W) _+ L3 v4 J" c
3: z3 p; @7 _$ k  W# Y
43 A1 d* ?% l+ I* h+ H4 ]
5) F( |8 n1 R" `, B& E& E
6 function new_stripslashes($string)
% M* e+ M' _; J4 P{8 j  |/ a" U( h/ C  w
    if(!is_array($string)) return stripslashes($string);8 j' M. F6 X4 D3 h) V; P
    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);
$ g. A- c2 {( p3 q    return $string;) L/ {  D* O% J9 n) K2 Z* K0 }
} 1 `0 V1 D6 W- k- a3 v

& L# S8 s1 j. O7 F6 N这个函数的功能不用解释了吧: u( l8 H  k& a- a0 c5 n. Q

; [+ ?+ p. {3 u2 f9 L6 I/ S1 x$ V所以我们看具体应用点再哪?' j& d0 H/ v7 L: z7 P3 `
# p4 H6 p) ]; H7 j0 u/ `
15 J2 A' H% j1 [/ P
2! X9 M, L, x, e( K" V3 R
3
4 h* w" \% m4 S) C: U- r4) e& i; H/ n) E
5/ Y6 r6 J7 A! p+ @" [( n0 c
6
2 l- A/ \! F" P: C0 N5 i9 |7
2 _* w/ E5 C# I8- `, S4 J+ @; b  n& P4 @7 ]
9
  a1 E5 [- N  d' ]8 N* i10: C& T2 f1 ^: R& L  V( A: m
11
8 b6 b" L" A  O' D9 ^4 T$ w, I3 a12! B( h+ D+ v5 ^# h: K) Q; o
13
% _7 d! j3 }' P; P* x) `$ u# c14
8 {/ |9 o4 t2 y9 e' v15: S, W, l, S/ [3 s( b
16
' s0 r4 q" a# ^9 m  v, r7 P17
! T* K' V0 |. I+ [$ N18
( J+ W: j0 ~! j; @7 {19
3 \! A1 f- C; y) ?: o  {20* E9 U: B( ~( z6 ?& M$ I  S6 i
21& o  Y6 p8 O1 s& n* I6 h
22
0 h9 w7 q3 J  |) B. i. q23# ^0 y8 e  {, r( m5 ^1 G
247 r  b$ ?) s2 V6 i3 K
258 q) f' {7 y+ N* m# ?0 P
26
5 j1 T/ U# R- h/ K% N& R276 h3 b5 X' i9 x# M& C. j9 K# P
28
; I7 `% A/ }/ [. s29
' p; [* J' k/ I( e304 Y7 J* j9 X( N7 k( Y9 p
31
6 L" w: s0 k* B32
1 }+ u7 e; ~& k# W33
# Z( f# k  R( O5 ?# Q0 {7 _  E/ Q34
& J" b, r8 P8 ^2 H! x35 require dirname(__FILE__).'/include/common.inc.php';
' k8 }8 ]/ B) p$ [' M0 {  O3 Xif(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.6 H0 G+ N( K- x$ U  _' \) e
require_once CACHE_MODEL_PATH.'content_output.class.php';
( x$ x- }. b; G; urequire_once 'output.class.php';
& ]9 S( S/ P8 R" wif(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了; M, p& a2 X) g/ t) h
$r = new_stripslashes($info);   //反转义了.....关键
1 W1 y% z* o* H$C = cache_read('category_'.$r['catid'].'.php');2 e- w' Q! `: t( A! {3 W+ @
$out = new content_output();
' |) w9 W( X5 ^7 z$r['userid'] = $_userid;
; C* Z/ |  V8 q/ K' [$r['inputtime'] = TIME;9 [/ {9 k+ @1 [) K
$data = $out->get($r);6 P/ h# y4 @3 O+ q  K! h
extract($data);0 g9 K# P8 S3 P( ~
$userid = $_username;2 D2 E; N% W9 E
for($i=1;$i<10;$i++)/ f9 H. O( B( W6 @  |; S: j) U5 d! }2 N2 }
{! Q7 i6 e' s3 e0 P( h* V
    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");3 b# N3 K+ z7 R+ g
}
6 y, A8 b/ }4 y  g4 F+ J        ( K, w6 w# E0 M) t% Z8 e8 T
$array_images = $str_attachmentArray;5 J& ~# z( i% d, m1 F
$images_number = 10;
- f2 H* A% u# e* K" x! z$allow_priv = $allow_readpoint = 1;
) s! @+ M3 q! c" O6 U9 ^; Y$updatetime = date('Y-m-d H:i:s',TIME);
2 f( {( k- y4 T1 \+ k- _+ r        
5 e, C" n6 r$ K: v: o8 O) B6 I$page = max(intval($page), 1);
/ y; ^) H& k+ M/ k2 X4 K$pages = $titles = '';
/ p' T% R6 s* t& E& ]6 B+ z2 Uif(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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