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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......
" q1 {; l+ H+ n9 |: t. C0 S( Y- [. H3 {
   要转摘的兄弟们,你们还是带个版权吧!   
* O' S3 ?+ _! y* w- o# s* B& m3 V5 X2 O* g! Q; X; C2 Y6 s* d
  组织 : http://www.safekeyer.com/   (欢迎访问)
1 O3 _! W, i6 r" y7 u% p0 ]1 i8 q$ z) h6 r/ u, F
author: 西毒    blog: http://hi.baidu.com/sethc5. w5 `. @- v' ~

; E+ q" _2 w! r$ S- V' N) f2 S4 v     
( H; p0 C+ p" B' Z: ~" {0 \- e5 e/ v: C
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.
/ m( B3 ~5 x3 V) W" U, e! g; ]6 v; X0 B
过程不明显的我就省略了。, K% g( B. G6 F$ s3 ^9 N7 u
& v0 Q; N# }$ u6 H' [- k+ X
在preview.php 中第7行
1 b+ W# u7 d8 L/ h2 i5 C! x' A/ h+ w- i7 m% G
$r = new_stripslashes($info);! B: ]0 J) }" K
( E7 }4 b4 W" j, u- I
我们跟踪new_stripslashes这个函数
) J7 X& d7 Q3 e3 A6 [" m% L; C* b1 i2 Q. c- J+ s! W9 B9 ]( p
在global.func.php中可以找到/ T( _( E! N" |; u% E/ }5 k

0 A5 G9 d) \$ V8 x$ `  V  k, H1
4 @9 ~4 Y6 h2 I% L% ?2
. @# }" n! F: s3
  s$ A+ P: e8 c$ Y0 j& }9 z' {4
. W; E1 a0 f7 [- l" }, j" x" Q5
1 r2 J7 ~8 L) N8 h) V# D3 q6 function new_stripslashes($string)
3 u% r  l5 U" Q! c6 y4 f& I' o{# N, K4 w) R- a8 h# \
    if(!is_array($string)) return stripslashes($string);7 l1 V/ g, ?$ O9 d# r- r" C0 E! O
    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);
3 G* n! s4 ]8 E& Q; k3 X, w    return $string;$ e  f5 J; f" w* Z0 @
}
% P0 f  `& q; F* N  F9 o* `6 D
1 \, l" e! `7 J" \3 O' j这个函数的功能不用解释了吧! \+ o" v0 T. q% h

" `% S  G! k& P所以我们看具体应用点再哪?# @+ D2 Y; U9 ?' U* k8 b
! X2 U0 k3 a9 T; u" ^
1! ]8 v0 N& O8 q
2
; p% Y, g$ v2 L) q$ G3
8 M# m) \( I" d4% z2 c' T$ e. _  ]  X: E; @
5
7 u; O% {. ^2 P6 p/ d6/ g# @* f3 M9 R$ u3 q
7+ j( c% p' i  L; Z6 t8 T! w
8
! l& t  W$ o8 z4 }9
5 Y5 |" i5 ^; f$ O# L/ P4 A0 S5 F10# J4 V  A# z4 ^2 j4 x  Y" ~) F6 R
11' x/ n- T0 M# k/ c# Y* v
12
) Y+ p- G2 U7 i' n1 q+ w( p2 q% J13
* H0 M3 z% i, n7 t4 G141 l% h7 I2 q+ R) w- ^
159 t  B1 v! j& b  ^
16
$ y2 ^; w. C7 T, |% z* ]177 C' R$ p- k9 t4 a: E" U6 q+ }7 Y
18
; M  i+ Z- Z7 g196 p/ g% H# k8 q7 Y6 @
20
8 W8 b3 ^1 V- d  f0 G21
9 ~- ~8 L+ m, r( F22
$ e% y- u1 k7 c0 z$ a230 y1 O4 G& y. }# x- e
24
: N% W& n/ K$ ?- _+ V250 P6 h0 k& Z5 u$ e6 }. P' n. D' p: b
26
9 x: @/ k: J* h27
" ^$ I5 C0 J: N, W28) m& P$ F8 A& B3 i6 V
29
7 I' O9 x' W1 l9 S309 b; o) X" [* U0 e
31" e' F0 W6 `3 B( {, X
323 x# F8 o$ f+ C$ V
33
8 R% t- X  `5 u$ |" i3 C34* Z4 H( }* _( T( m* }
35 require dirname(__FILE__).'/include/common.inc.php';' Q. l) l. ?+ @9 G3 i
if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.7 _( q7 |- E; i5 U- N
require_once CACHE_MODEL_PATH.'content_output.class.php';" D4 I  }7 L! h! v2 U& p8 b. Y. E& n
require_once 'output.class.php';% u$ A+ c5 d5 O! @! [6 b
if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了* i$ g& C  y6 w2 G6 c6 s7 U( A
$r = new_stripslashes($info);   //反转义了.....关键
1 w$ h! S, m7 ^$C = cache_read('category_'.$r['catid'].'.php');; R2 v4 _/ C5 F- b
$out = new content_output();* J9 Y; T% I3 x- a* C. ?4 [
$r['userid'] = $_userid;
. Z% M, o4 V" I* _$r['inputtime'] = TIME;
6 g. z0 I, W. S$data = $out->get($r);7 r- P3 n" o; k3 W( e
extract($data);: x" B' R6 K8 a+ Q* }7 j
$userid = $_username;
6 }7 J1 T3 z5 A/ \) b- Dfor($i=1;$i<10;$i++)
& ^' P- M3 E  T; M% @( y9 l{9 G" K- Z8 m. F2 ?9 A( s
    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");' _+ K  h. T: L/ ~
}" S/ D4 G5 b8 M
        
9 }( e# _. D, ]% `" c/ G, J& S$array_images = $str_attachmentArray;3 N( E1 C6 u# o) D5 f5 u$ T. }
$images_number = 10;' h! _: @5 O0 a) d4 C9 {
$allow_priv = $allow_readpoint = 1;& S& g1 a8 M* c8 G& i
$updatetime = date('Y-m-d H:i:s',TIME);" y& A3 w. E+ g; F! Q7 p: O6 y6 \2 J
        : F. }3 c- T8 m  H. o7 M9 t
$page = max(intval($page), 1);
9 }  {: h% l2 N( a& j2 E' C' J8 Q$pages = $titles = '';3 D( n' }% t4 j2 A5 Q  w, G
if(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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