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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......7 B3 x2 p9 P! s9 k3 `# o! s$ P6 J

, Y( U" Z5 q! E2 U5 n5 q   要转摘的兄弟们,你们还是带个版权吧!    , {/ `* c' n! n& u( T
1 Q! p& P2 \7 V  L; n5 L
  组织 : http://www.safekeyer.com/   (欢迎访问)7 T, f2 k( a3 o; I( Z8 b
" ^  J% j' Q; N: n: \
author: 西毒    blog: http://hi.baidu.com/sethc5, |3 {8 x' l2 i8 n
9 S# p) r& m7 H/ `0 o/ s+ |
     
2 D- s5 @  h9 e* o* z; W
! k9 i3 j  r* g* u2 ^6 P其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.+ l1 g9 ~% v' H$ ]' q

! _" Y4 O+ c6 e- A" Q1 l! \过程不明显的我就省略了。: A) X5 V  y/ F; S! a
: K; ?3 E& e7 R9 o/ j$ H
在preview.php 中第7行# i( ~: v6 c8 b& T4 Z& k0 J; J

( s7 r3 a/ l1 x) i  z& k$r = new_stripslashes($info);/ Z8 [; ]  |  E; @- V* \, p
/ n/ G! q9 i& O0 u# j9 |7 x
我们跟踪new_stripslashes这个函数; |5 a. M% `; W* d' C  G. ~- \
; X% t* j3 [3 c* i  z" {
在global.func.php中可以找到
8 Y5 c1 N) w+ t! K6 p: V: ^* ~$ `% c/ k- t' X
1
8 w9 F7 `9 j% l9 y# ~2+ F, F1 V% L1 C1 W3 `- U1 L9 [. Y
3
1 b7 u7 D' `- @3 R; X, `% [4
% d; Q$ K* |! f! N& O4 c! s5
1 m3 ~2 h! C+ Q! T& ?  g: O2 q6 function new_stripslashes($string)$ P: j. Q& c9 I6 ^# M( V, @. N+ e
{
* F+ }/ `) `1 @7 w    if(!is_array($string)) return stripslashes($string);
$ I2 Z7 z% g/ M1 B6 _    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);
0 m7 c: |) r1 h: L8 q) @* p    return $string;+ |# m5 A  N( _- e( q5 D( i
} # ^5 E- u4 q5 M9 s  `$ A3 U, z
" Y/ c  d( a. i. B
这个函数的功能不用解释了吧' L0 L+ i/ R. ^$ C" v2 d8 ]
9 y! n5 ?6 [& y4 `" z
所以我们看具体应用点再哪?
4 t8 L1 J& Q) Q* g! @+ _9 M. e  @1 f
1" t+ C0 w6 _/ A; z3 `  G
2
# {( J- i, Q. i$ k3
3 k; V8 l/ }7 b9 u* e6 W2 ]4
& o7 `; U9 @9 [+ r) q5
' V2 a/ E! i7 Z: M% M6: L8 X, i$ p( c+ q$ G1 O, Y5 _
78 n  o% {* h' O8 I8 ^2 w# H2 f$ F
8/ l" X2 [# ?4 L
9
4 P7 Y# t: M& i% `- j108 R1 Y9 S" c+ W7 e# P: E; j
117 _1 V( }2 \) }8 d5 B% ]
12
1 i* j2 a3 u2 ]130 p% n: k! U. \) G
14
# ~, R* f: u  A4 L! N* t' d153 N' N/ G& t) z4 s  b5 [$ k
16( P, A" L+ q) u
17
0 O' n; n: U+ G$ ?' E18$ V( m7 x3 T, S
19
1 `. S0 {, X2 X. g5 I8 `1 D5 [20
  Q$ C% W9 U; m" m21* G1 [- @8 {0 K
22
9 o& L" [9 q) Y3 {, t( b" u* j% r  V; d  B23
' d4 V( U. G' v. j  c4 `0 \  }* w24
6 t: {' _9 A2 h% h) P6 t+ A259 {. S) ]' h/ a5 ?8 N5 p% w
26
# F7 m7 u/ g2 C3 \2 v2 Q27" d- k1 j4 n* M/ R9 P& d0 c' d& g- x
28
" T9 h' d" _8 D29
& G' R/ U5 k3 l& E5 G% A307 B+ b5 l7 D( `; O2 C
31. h' j7 u5 A  c) Q  a
32
/ D# D- q; A3 P33) l8 x$ N% S: K/ O7 E9 _9 |5 B
34. X& w, ~% o* r( x/ O
35 require dirname(__FILE__).'/include/common.inc.php';
8 h0 p) z& S. c0 J( Wif(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.
/ o5 u( {7 Q) q6 vrequire_once CACHE_MODEL_PATH.'content_output.class.php';
: u) f  G0 Y# _require_once 'output.class.php';
6 M& g2 q- ~+ ~- v8 A5 uif(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了# Q- @% c' W2 B: S+ y  C, ]. Q! W# t
$r = new_stripslashes($info);   //反转义了.....关键
/ {+ i1 W% L3 f4 }$C = cache_read('category_'.$r['catid'].'.php');
1 e  W( ~, Y' k+ c  V) @& \* a$out = new content_output();
/ G( f9 R% \/ M: D. Y9 G" c% X: i$r['userid'] = $_userid;8 l$ F4 ]; B  B5 @) Q
$r['inputtime'] = TIME;
" G) a2 J0 R6 k( x$data = $out->get($r);; @9 [3 x$ J1 p0 D0 _8 C8 S2 W
extract($data);7 I1 C+ ~# y7 ~% t
$userid = $_username;
% m7 v- \5 g, e# v6 ~6 ffor($i=1;$i<10;$i++)
9 i5 b0 a' v( a9 K# r: B{* {2 c  f: e' ~; R: N# X
    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
& R$ J9 e, s6 f+ u5 R}
6 X. k# K- [: ]9 n7 N% k0 G* ?        
; x* B( J9 x3 W  w0 ?+ F$array_images = $str_attachmentArray;
; a) ~% p; x& V2 X) E5 C$images_number = 10;. P# p; y9 L5 a: W4 Y" a
$allow_priv = $allow_readpoint = 1;
( o8 z2 j7 f; t0 g) E+ s$ F$updatetime = date('Y-m-d H:i:s',TIME);0 m, C- P  L8 D- _
        - }, A6 H) l" v
$page = max(intval($page), 1);8 O9 u. C+ C5 d6 L  f- P9 w: x
$pages = $titles = '';
# Z* m8 `/ |  Hif(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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