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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......
2 W5 Y+ ^) o: J7 N
1 M" \3 l8 H! q+ j% B( m9 k   要转摘的兄弟们,你们还是带个版权吧!   
% [6 Q( `1 w' p8 l0 E+ L
6 i* w) d- P( i  G% H  组织 : http://www.safekeyer.com/   (欢迎访问)
6 f  D. W8 u- w  G- ?" j$ u  T7 ^) |5 x( m
author: 西毒    blog: http://hi.baidu.com/sethc5/ c* U6 m0 p2 f; o( Z

1 w& T$ L. \" o8 W2 Q* ?( @2 J     1 V) m& S* f" ]: U
- V: m( w' L7 [1 }# K
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.
  V" c# d; R8 u) K. |1 r# e$ z& p! E% f! C2 L. {, m5 b+ _
过程不明显的我就省略了。  c) ~, v. b; k$ {$ ^

& r5 L7 t# c* k: ^5 y8 ^在preview.php 中第7行: P# q4 B. T( g/ [1 f
' c. T: e- \4 ]) i4 s
$r = new_stripslashes($info);
2 v  T$ |- i, ~5 u  G* l2 h) }+ u) B6 ~3 g+ e& ~
我们跟踪new_stripslashes这个函数
( }  S- [0 f  ~. ]' H5 e; |8 ~, |4 Y
在global.func.php中可以找到
' h- W* c7 H% ?% U3 B, o1 @1 {6 a
1
+ i2 W/ ?. U" M; N2 J8 j0 B2
* V! }, o: y; S  O6 M3
! C% `' S+ |' S5 S. W+ b5 v4
# `2 I& V0 y8 S5
$ }+ C  W7 i, n# D) b% C$ V6 function new_stripslashes($string): k# y7 b& r4 o
{
* n* U- i% ]/ W" t+ ^    if(!is_array($string)) return stripslashes($string);* `  L) `& i5 M* j; A3 K
    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);
- Y4 V8 d& o9 ]. d# j5 V    return $string;- i5 z; V8 q  R' A: c
}
; v$ J5 s9 S; N
1 X0 ^0 L! P4 g; W这个函数的功能不用解释了吧% O# Y3 _8 ]$ G" w5 M
% d0 S6 r$ J' @% U6 y) Q1 h
所以我们看具体应用点再哪?# J# Y9 h+ G% D' d9 A

* ?) W+ L& v6 y% ~. ?% l4 F/ H1
7 h1 C1 L1 W5 L2
0 @9 q, x0 l7 C# a# H8 p/ f$ d3
% w' M- ]9 s1 H/ o& K, D  k* ~4
# _. C0 G9 @( |3 B% l% f4 a5; Y$ a" J5 B4 P
6" |1 M# n* z( e' H; {, H" ?
7
/ P5 t2 U# y  B0 F8
- W7 n, P  ~" T8 W6 x/ d& v9/ c) U1 Z( T; r; M" Z8 p: b
10
4 I, D# B4 k8 N/ ^/ f4 ~5 s11
8 g* h7 {$ V) I$ P! ~12$ k1 I* i* g1 g" |# ^
13
. b* q7 x3 c9 o5 S( S/ x14% h, M% O$ v* w6 P% \! `. C% ?2 ?8 Y  h
15$ i% b- v. H* b+ ]$ F7 ^) A
163 @; L' R* v" n2 o% n* ?4 l
17
% G( }9 \  g( ~5 h! m; E18
, V1 {5 d9 V; e; W; V4 B! Z199 Z( X/ I7 U+ K( O- r; E
208 w$ D0 C2 r6 c3 i7 N: i* f
21
; U) W7 _+ `3 `, }( i4 f! E229 X7 V! l6 j' a( s  `8 {# J7 s" q
236 J1 T- s3 `9 W
24
2 \9 R9 K, g" ~- N& F9 N- g6 z25( O- a' V3 _1 n
26
+ \$ P* a1 L4 V+ Z5 ^* d27
! n9 z' Z! R0 K4 H286 x( }3 a5 M* K( j- O: G  B" O1 K
29% w5 h5 q* K* e: ^, J
30- I( |/ T2 y5 i, E! v9 [+ H
315 y. |  \8 b- [3 ~) [/ w4 ?) `
32; _8 ^* ]1 n8 L: r7 R# L( @4 k
33
9 X* c2 {+ S1 g8 u7 p2 m. Y34" Y7 V2 {% j1 j; W
35 require dirname(__FILE__).'/include/common.inc.php';
3 r. Z. h8 ^2 V. H9 Zif(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.$ E! a) D" o1 ^4 U( ?* h
require_once CACHE_MODEL_PATH.'content_output.class.php';
6 x+ W% u) R0 Lrequire_once 'output.class.php';8 l' w, o3 ^1 v' n& T
if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了
# e+ z% E( r3 T& _% w1 E( u$r = new_stripslashes($info);   //反转义了.....关键
3 B  ^3 F, v, d; E, J$C = cache_read('category_'.$r['catid'].'.php');
8 ~; U" v+ J0 S. |+ K$out = new content_output();; o9 V. `1 B4 x. i+ }/ F* T* `
$r['userid'] = $_userid;
" R. g2 y& w' x8 o+ H$r['inputtime'] = TIME;$ c8 S2 B. v9 F, G  U
$data = $out->get($r);+ D0 \- O8 B% D& N; T% b5 O" }/ P) ?0 I
extract($data);9 r% O, ]/ D$ _" u/ @. O: J
$userid = $_username;, S, y: \9 O& o7 W
for($i=1;$i<10;$i++)
$ W! g( F7 ?" \7 m8 S{5 n. g9 i7 M2 N8 q0 e. x: b% a
    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
7 y- t2 {' t7 T( N}' M  R  i4 ?8 H% B
        
, K/ p  D% C2 G& J0 @/ {& V$array_images = $str_attachmentArray;
; p$ `2 H, B5 X. D* N$images_number = 10;
% [7 |% F3 o, G- d$allow_priv = $allow_readpoint = 1;
3 S- _: ?- T& t$updatetime = date('Y-m-d H:i:s',TIME);6 ^  x5 D7 q; l+ J) f* Z
        3 s' H) P4 M  R* P4 ?4 @) n: y; S+ q
$page = max(intval($page), 1);
" F* p; P, Q1 x6 b5 T9 O: P! [$pages = $titles = '';
, Q1 W5 \2 C3 Dif(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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