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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
说好的第二季来了......; J$ y$ e" D* h; D, {: Z. o

* @# N$ L* Q- Y. A/ ^   要转摘的兄弟们,你们还是带个版权吧!   
3 J! [4 s6 M7 F' _" T% G1 W- B
, K- [; d: \6 D3 F, \8 s9 q  组织 : http://www.safekeyer.com/   (欢迎访问)
9 `* U+ j, Y8 o2 G' }6 U5 j. _5 @" G
author: 西毒    blog: http://hi.baidu.com/sethc5
2 {) Z/ ]6 F! Q
3 D: K; {/ |7 C: w, i     
, q! `7 k( ?* t. N; k$ G: X, C1 v9 L' ?5 D7 K
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了., q; R; ?! W* Z: w

/ d: h3 h3 E) f: F6 O过程不明显的我就省略了。
$ a/ X( i# t) ~$ W8 {* T
2 w4 L4 Y8 n( A" J; l+ z在preview.php 中第7行$ F0 E' ~1 x% B' h6 j' a& d$ h
8 Z4 U' c2 L1 d( T1 g- @  P
$r = new_stripslashes($info);
4 a* y. ?# ]7 s* e/ k) e# U. q1 Z
" O# |( g; ~$ ]- C9 z- v我们跟踪new_stripslashes这个函数
! U" j. _; P8 N7 t
( d$ p) R# t" c) P在global.func.php中可以找到( w  g& T) i# {  a  [4 D

) o: ]7 r0 c- r0 W( {4 a1
4 W! n2 f# Y. a. K4 u0 C) l, G2: b8 |$ h; S! J  m
3
. x# N/ v" K8 T  }7 I4/ Q! B1 z/ v4 `( s
53 S! t" W) t' H; A
6 function new_stripslashes($string)
* U( W  }1 A0 q5 |4 i; r6 h' `) [$ I8 }+ S{
9 P& }. j2 i+ F! c! D    if(!is_array($string)) return stripslashes($string);1 |# ?$ r% J7 k; j+ r; q
    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);
1 F( @4 F5 g$ f; m    return $string;
* n3 r; [/ c$ P}
& _! E9 B! q% q
% Q* T9 J9 I7 f! E这个函数的功能不用解释了吧* y6 ?% C+ M' h% [& r; c

9 E1 P4 N- y4 j) C  D9 [/ f- o8 x所以我们看具体应用点再哪?: ~8 r8 u; v+ q. N3 E* v% N
' W. R1 s9 g- q) T' D$ Z. I
1/ ?. N" ]. P  e4 n5 F: S
2# r- Z# _$ C' J$ n
3/ S: K$ ^. \% Q0 g6 l9 Q
45 \0 R0 I3 N' S
5* X( x) d: \. y" A: r, Y+ o
6
  f, {2 ?: o% c, [6 e9 V0 T$ o5 o7+ \# a# ]( w# |( Q
8
$ s2 F( n( c: O0 Y$ {  a9: J& c2 h- ]& |0 Y
10
- W) {1 @: V0 |# H$ s11. K: s& U$ n" f: j" y/ ]
12( B. q4 l' n7 x* |, L- v% `+ A
13" {8 N6 T- M3 p* \5 o
14  _% |; H/ T$ D1 `5 o7 i# `; G
15
4 N2 A: W9 S+ i1 k. v16
$ P, \8 S9 B* s4 [  f17
) s9 U6 E0 Y5 c* e* U18
( p9 [6 P* T' T( o198 r. I6 f3 S9 K$ z: s0 h6 y- t
20
$ q& }- ]8 X; t6 b6 Y' _21
. {& N! ~% F' N. ~  g( L7 W$ s22( y+ \9 C, m* O  p4 z9 x* q
23
! _* ]9 \( c7 s  M, ?24
9 n0 Q% s; w5 @5 N% N0 d) e257 j$ \. Y& {$ x' ^' n
26
# s3 A/ b  H3 @4 ?/ M9 S' B27
. d% `( z3 b5 a; u2 O. F28- i/ ~2 z6 k: k) M
29
) j; K- l0 i/ Z30( S. H2 Q$ N1 H! v
316 I$ s% P$ h5 p& U) B, \" E
32/ l7 b4 u" ]5 s" {
33: y. ]% z' X, e& P2 T: R. @! c7 {
348 f% g9 n& P) B' V. m' w
35 require dirname(__FILE__).'/include/common.inc.php';
0 ]9 `. P6 D7 y3 wif(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.
9 z) X( N7 l9 Y5 ?/ Nrequire_once CACHE_MODEL_PATH.'content_output.class.php';
. [: H/ p6 d, a5 L4 _0 Jrequire_once 'output.class.php';) n7 Q) y' @4 e$ t
if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了
. o- m% m& [5 l4 e" z* f$r = new_stripslashes($info);   //反转义了.....关键
3 O7 I0 {, B, V! {$ v$C = cache_read('category_'.$r['catid'].'.php');" S6 Q& l  K/ m3 e9 i
$out = new content_output();1 g4 ?- w9 g$ N) O, D: D  k
$r['userid'] = $_userid;
7 v. n# \( }) Y% P7 y$r['inputtime'] = TIME;$ I: J; n( G9 b, C7 L, ~* y
$data = $out->get($r);7 J# I  Y; U2 k2 c1 y
extract($data);# b+ S. e) g- g) V* W$ _8 Z
$userid = $_username;
9 E: E1 R1 B' _9 K# w+ ~* Yfor($i=1;$i<10;$i++)+ |$ B& w) C, G1 V7 _) x+ p
{5 N) h" b* S' i* u  [  U  \4 Y
    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");' J5 |9 r# h/ ^( z! z. ~
}
4 h/ D/ b2 |* u! G9 b6 I, M& n- {6 _        
7 ^0 [$ n6 z5 I1 P0 z& W8 k1 P$array_images = $str_attachmentArray;
( y; L5 s' r# Q% {( ^$images_number = 10;
* H( ~9 T* n5 |6 Z$allow_priv = $allow_readpoint = 1;) l: z7 l0 d* `5 R7 }. z6 q
$updatetime = date('Y-m-d H:i:s',TIME);
! K6 J. ?& M$ I' u% x* e" r        . I5 k& N5 m* F& A
$page = max(intval($page), 1);& X3 A+ Y. }* w" i/ D8 _& J/ q1 A1 t
$pages = $titles = '';' B4 l0 T2 a; D4 t9 R3 _
if(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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