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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......
. M. {9 U5 [0 y% C$ c
# X  D6 ]8 n! y5 t/ ]   要转摘的兄弟们,你们还是带个版权吧!   
+ H& t! O* ]3 b& |, I; E% L; k3 q6 K# [- T' V! o. E
  组织 : http://www.safekeyer.com/   (欢迎访问). G. T4 Q& ^/ }( t5 H3 u
1 {! o3 s3 y# {6 z
author: 西毒    blog: http://hi.baidu.com/sethc5
; s+ Z5 U( F0 k; L
3 @2 c3 ]0 d" p& ?% y" Y     5 h0 e# r/ U" x9 u  Q! k9 h

6 L4 ^0 l# J) x# S% M5 @% Q其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.
8 n+ J7 Q, o3 c
, G9 X' S& K# Z过程不明显的我就省略了。
9 l# p( F; a- K: ?3 _5 e( O# e
3 L& v4 X1 ]  ^! ]+ T在preview.php 中第7行
: K1 v, t) l7 ]* c* r4 }& K4 O' R8 t$ C
$r = new_stripslashes($info);
7 j* T( g" M" V8 \, ^) o. P' k  w, F1 L: G$ v" G
我们跟踪new_stripslashes这个函数
* q" u9 \/ q- t7 W
; K4 {5 G. a  U) ]: C在global.func.php中可以找到
3 _7 h) F) }! C; C, w
$ d. U+ O9 u- q) J; v4 u1
+ u2 e/ y; |0 z6 w2
. Y) K- D* u1 v. v: p( w3  n. Y9 Q& [. f6 ]
4- s# c4 u0 \# T+ g7 `9 o- A$ }; j
5
% [  A4 c* d$ a  t' u  x* F6 function new_stripslashes($string)
# p) C0 p- I; Z0 M9 b" w8 D{
9 X4 i9 C/ j1 A  A    if(!is_array($string)) return stripslashes($string);( D. h: q' L) X( F+ r5 K) x
    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);$ d5 q8 \- Y+ Z
    return $string;$ b2 z( O1 i7 a
}
5 x$ w) X/ l* v" {  j6 Y" C
5 H. Z! O9 C% i8 H; ~. J这个函数的功能不用解释了吧  I( M* F8 G& e

* z% o  o* r0 m所以我们看具体应用点再哪?
0 A6 x8 G/ A, r! j" i9 [1 ]
# p  x: C0 W& D1" k$ F- z$ C# T9 b8 ^
28 R5 f+ V$ U" t# l
3; q! ~1 }' l  z
4
# v' ^2 _4 c* K$ x  d5
* m6 A( N5 f  A  F4 ~6; q' f* y! C0 D; `
7! U. {6 V% y% r$ d( w
8% i+ a* ]* S. `7 ~9 z
95 X5 S) n( ^# E8 f: t
10
' O7 I( i' K6 P& t& Y11: l* H% w2 B. f0 Z0 i
129 c) a& Z$ `1 Q. }; l- C
13
6 {6 y' o: Y* {9 c) i7 |4 |  G# I6 \14. H7 I3 Y. ^1 H: |# `4 s
15& G" s' m0 E% w' h# o3 D
16
7 o  O& C$ b6 C17
) q: Z$ Q' S: Z; s18
# A, j  ]% Q4 N" }7 M! \- J6 \; a19
8 n! R6 c: u  T20
) Q! a. u2 Q% A4 Y1 a7 `5 n: n21
4 g6 {- O8 [3 Y9 q3 i5 S22
6 h% `( W/ W7 d2 i3 y7 o23
. Y& L5 U  I  \* Q$ X' [/ E7 W! J240 b# ^$ `0 P' l3 v+ \/ P, Y
25+ Y2 s) {: U2 t
26
) u8 V3 p+ ^# B# u272 @& Q0 I9 `! F4 m+ {
28- f: r1 O, U  `1 ~* Y" I% _
299 @/ n5 _+ c( R/ s' f
30
* {& b+ \! j0 n0 z31$ r  a& ?! b1 s# w
32
. W! m( ^- a- i4 |0 d33
" H0 h) n7 q9 j' X( d34
- T' Q2 R, o) i: H35 require dirname(__FILE__).'/include/common.inc.php';
' k& C+ a: x$ a$ lif(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.. M3 q! {" Y0 s1 W
require_once CACHE_MODEL_PATH.'content_output.class.php';
4 x8 k! `* S3 A, f; X1 _: G) Rrequire_once 'output.class.php';
! _# ^% f/ [8 Y3 q8 o# Sif(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了$ F  `5 h( x: q2 L( q
$r = new_stripslashes($info);   //反转义了.....关键! q- D) }8 n2 u- {" T
$C = cache_read('category_'.$r['catid'].'.php');
1 ?6 E0 w/ z* W& j* j0 v$out = new content_output();
$ |) N6 N* W% w4 h$r['userid'] = $_userid;
) [: I) @* |4 X# K- `. V$r['inputtime'] = TIME;; W9 @; E9 l: M+ ^; z9 m3 b
$data = $out->get($r);2 G( \# X  T8 `/ o/ u7 V* s. k
extract($data);" \, v; P2 p. |7 r$ v8 b
$userid = $_username;
" W( Z# A$ l) T1 K3 t) o3 c0 v+ ^; @for($i=1;$i<10;$i++)8 o5 t' o/ G& B
{7 Z& }- B9 z" D2 {( `9 L
    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
" L+ B5 t" G' z5 e/ I' B}
7 m, B3 L0 f' U5 ?4 g4 p        
% I% }3 q4 Y8 B7 I! k$array_images = $str_attachmentArray;
! f  _+ I+ U9 W' X( R$images_number = 10;
' v6 y# V$ y7 a; [7 h5 j" k' ?$allow_priv = $allow_readpoint = 1;
- A/ W( G! s: E& O9 J1 K$updatetime = date('Y-m-d H:i:s',TIME);
' C" L. Z+ P. J/ H        ) K: l0 H" G7 }6 V  j' r5 L
$page = max(intval($page), 1);
3 T- ]. |% @2 y5 n' S% V; w2 G$pages = $titles = '';
. [+ I' l  N# |4 a$ fif(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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