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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......
' u) I, d# y; r& D! B+ e: @% n  k% @( O3 O1 e
   要转摘的兄弟们,你们还是带个版权吧!    & Y9 ?& S/ S8 v( t1 H- S  w

! e$ k+ [  j7 ?  组织 : http://www.safekeyer.com/   (欢迎访问)
1 P$ l6 e  z) y! r9 N% B; P% ], L% c1 ?7 d& |6 J1 N! j
author: 西毒    blog: http://hi.baidu.com/sethc5* n9 v  v5 V6 ~6 A! {

! ]0 m$ m8 r+ x6 q     . K' h5 P( K& x% i

! W' R- G' R' z' N其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了." B0 V* g" a7 Y+ E6 \& r

' Z0 m0 K: M/ R& O: J) N- s过程不明显的我就省略了。
2 J: O0 ?( F5 E2 {/ N8 J& x& |
7 ^1 h) Z- K6 C在preview.php 中第7行
2 w) G3 L' w; l* S
; X3 i6 B: g2 |0 V! l$r = new_stripslashes($info);
# V: O3 Q( {5 f6 I- B1 V3 U7 X. f: N0 I$ ~' o" U
我们跟踪new_stripslashes这个函数8 R! M- @3 H0 W# _0 g. p, D, S( m

0 R& Z% P3 o# k, V在global.func.php中可以找到
/ G! `0 N5 O0 ^# g
# t3 h9 H, A3 I% Y6 A1
+ @; C( ]7 i4 H5 H2/ C# G! E' n& `4 J$ z
3; R" q4 X! {8 S
4( c/ s% ?$ ~: g7 M, b
5
) d8 f' R+ ]8 T6 function new_stripslashes($string)9 }# m7 B3 x9 A
{
" w6 P4 `( S# @- r1 n5 n    if(!is_array($string)) return stripslashes($string);
* c4 i- W8 {3 z! k    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);" i- j  S& t4 Z. F3 C+ O& d
    return $string;: {# Z; d' f# T" Y* h0 T. s0 ~" h
} ( k  v: y. x6 U1 I6 f

/ u0 R% K1 k  r# E1 f5 M5 o这个函数的功能不用解释了吧
+ W! p+ I% e. T/ U- m* X# K8 F5 w0 b+ R7 ]; a2 W3 y3 ]: \) O
所以我们看具体应用点再哪?
0 e# j3 T' ~  j$ d% h% h  b. d: k% b  l
1
: W$ `3 U  k3 d$ u) \/ O  T9 m2  t9 I: T& I" l' q* l7 a1 b
33 X/ ]& j, @2 o
4
' E" n; R: t7 P  K9 p% C4 D5; c0 \! d, W2 A! N- w
6
) u- M$ ^- E  n7
- C, x6 e2 h) f  [+ D& ~0 T2 ]8" F) }- s. S# z, ^4 p
96 i6 a/ E( F, ]4 F* \5 o. N/ d
106 _  [5 t% X9 W! S$ }
11& M; m2 u6 b0 V1 d: {
12; h" B5 _" `& ^6 s
13$ A* n* i7 K& B# X* c
14
( R( h: A' d8 W0 y4 t155 x) y5 M  h9 d% R
16
& a. |+ V# s! q* K17+ _# g' M* x1 P
18
% g+ A, g0 V: V# b19
" v! P4 Z8 v4 M! F20
# \- u! C( l; a( t( j216 E; Z+ w; [$ Z6 e/ K: Z
22
% Q1 P: ?' M# r% m: T/ \* r' v23
4 A0 k, Z1 k4 @7 ?; w24
6 H1 l5 E: p' Y0 m: Q# e* b25
6 D7 O- h  O2 g% \4 p- X26
! c) L+ x& @& g; B; c" i27
7 z2 T; ~8 N% C4 U* F285 s* X2 |7 ]) N: c+ X+ i8 x+ |) J
294 S, w9 {" Z# \  l$ l6 s  x
30
3 T; u8 ]7 D$ W  u31
  a8 u' }0 R. C6 d2 q32% |1 ~& N3 J# s
33
- P3 ^7 n9 o8 @! `7 Q0 N4 x34/ u$ M$ a6 z6 W% z2 D- e% M
35 require dirname(__FILE__).'/include/common.inc.php';, Z' Y: j4 W- y1 h+ [
if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.7 x( U" ?* b1 K4 S& ]* p
require_once CACHE_MODEL_PATH.'content_output.class.php';5 Z. Q  x3 @! s0 u. ?, g
require_once 'output.class.php';- @* T5 C/ D3 w0 d- J
if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了
1 P( p/ s9 }/ W$r = new_stripslashes($info);   //反转义了.....关键. K) r, Q- [9 Z' ^8 n5 K' F
$C = cache_read('category_'.$r['catid'].'.php');
9 Q  I. }" ?0 S* G: Z$ q$out = new content_output();
- ^+ L7 W; K0 p4 `3 k$r['userid'] = $_userid;- S/ d# P' y# F9 ^3 v+ G! z
$r['inputtime'] = TIME;
5 V  F% ^; z( ?6 f+ e. `/ H9 Y: b6 Z$data = $out->get($r);3 l, P, a3 |* l
extract($data);9 F, X$ H8 ~; e( ?; d
$userid = $_username;8 p' u1 v& M& y( f$ j6 X! D. f7 c
for($i=1;$i<10;$i++)' f3 B6 x: ^! c7 {0 z3 W' c5 j; y5 O0 @
{
# d4 E9 ]% _/ q. S5 }% b3 w. }    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
0 P2 _. a( N: W! W  V}
% q$ c! u5 x7 M! @( g0 c* y        , q# s3 b+ A# _) Q- V- u
$array_images = $str_attachmentArray;* K0 [2 X2 y' I! p& p; E
$images_number = 10;  O+ A5 z8 I8 o" W7 e: @9 d
$allow_priv = $allow_readpoint = 1;
- R4 ?1 o7 w5 ~: v6 |* ~$updatetime = date('Y-m-d H:i:s',TIME);  W/ y5 [) x7 q9 k8 }" W- ?/ J4 [) D* V
        
: _- ~$ L9 K& O% u: V$page = max(intval($page), 1);
& v- ?7 _3 u- K1 {0 W/ q' q" e$pages = $titles = '';
: Y% ^2 _4 }# bif(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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