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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......  n/ Z2 V; v1 \9 v3 j& C' S! X
" g+ ?3 A& G& l8 n% P+ b7 z8 E5 k
   要转摘的兄弟们,你们还是带个版权吧!   
7 E+ P1 n9 G, h+ j! f- Z  b1 f8 x5 t4 c1 v" c  h; D
  组织 : http://www.safekeyer.com/   (欢迎访问)5 h( Z4 y, p: P2 U* n
1 n2 d1 q/ T5 k- I2 e8 H
author: 西毒    blog: http://hi.baidu.com/sethc5+ K& Y+ i' s- A: s  N" K
* y( [" H" J! H/ f* W" W
     % F2 q  B9 a5 I- A# }
; e9 N; E* g3 ]0 S6 a3 ^4 l
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.( V# ]$ ^; }1 s, B4 a# r  Q* m& f

7 R1 r- ~4 V) M4 z$ c! ?过程不明显的我就省略了。
& b3 I- o0 H, W5 n! q, w) \/ p
+ O) X) {% P7 O6 Y在preview.php 中第7行1 p% D5 q( z2 y: H% m

- V: z! @/ h* T8 J$r = new_stripslashes($info);
3 o, E4 r  V7 g9 _+ O
  M. {& S  R" v3 c我们跟踪new_stripslashes这个函数
; y2 \( {( x( n, h
7 q2 |5 R4 p4 S在global.func.php中可以找到  a2 E" ]: y4 E, ]" K2 Q0 _" V

) Y- ^+ j9 G1 K$ B+ g1 [1
: S7 }$ M1 E4 I6 ]2
) H, L& J& F3 }5 @5 D+ B3
+ |+ A/ T$ X- \. _1 H& c0 d4 b41 z6 P8 Y0 B! p5 c, _9 i
5
, T& |* ~; u$ v  D* y2 a6 function new_stripslashes($string)) p( z! Q( g! K
{0 m4 F* C0 q7 Y% x
    if(!is_array($string)) return stripslashes($string);& @: E7 ^. t3 g  g2 \
    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);
2 X2 A' ~- Z- I9 r7 Y, d    return $string;
* h5 C5 n0 t* y2 _" [0 N} # U: [- h; V3 F6 k
" D6 F% E2 r. i; z% ]
这个函数的功能不用解释了吧4 Y4 t+ A' b/ {. c& {
3 D/ M) k2 Q; t! c) W
所以我们看具体应用点再哪?
* v" a3 ^6 |' u, c0 v8 b* f- T  g& @4 X, ^- C
1. D  e! s, k2 k7 V/ s
2- ]( |3 C7 Z) u. G# D6 L
33 f0 S6 C; n( D, l) H
4
" N' B+ O# [* L. e# m5# Y! w0 w4 L$ S8 Q" _  b
6
# v! l3 B4 J1 _* k  v" a& d$ [7$ f" s' m$ v/ J: L( K8 U
82 h% ?# x1 p* Y) Y8 I* O
9+ E- ^$ C/ c8 W+ ~4 V% N7 q% j
10; k. f& L! \% C+ t0 q+ |
11
& l3 ^; D' `+ E$ t) J0 Q) x$ H12
6 {/ l' Z2 ]* E/ P/ r+ z6 T% i13
9 e7 d$ Y% U' T/ J/ T141 X! p& W% o* ~$ e
15. q+ X' }; I' `, g
16. r( ], _- ]' G
17+ @' H* m5 x6 m# y; H
18
! w" d  r: K! \9 P% ]* Q$ M192 N* X% P4 j/ T8 B
20
0 ^) }1 q* |2 h0 C  U" W9 x21
" y2 w) _9 n& x+ V- g22
: I9 f: f6 y& I: H1 L) E- v- n2 U23
! O% Q. o, \: ]0 b& E24" d9 ^- K, S2 b' z$ s: `
25) G$ q7 n2 ^' q! e. N& r6 I& n
26
8 B. h: o# B! S; Z27
( C  A! y7 b* x28& G; V+ Z  ^4 |% d3 ?& Q
29& W- L0 d% E1 j- R+ Z4 F* H1 U* O* k
30
& {* Q+ @# K* b& j1 i; i31
- m* q9 `9 g6 ^32! a8 J, @4 ^0 ^7 I3 H
33, a) T* U: L8 V  b$ l
34
8 e. p1 e, G5 O4 l) A3 d35 require dirname(__FILE__).'/include/common.inc.php';4 k9 l, U2 p- F9 S' t3 x' a/ @/ Y
if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.
! @4 D5 j5 V# k+ \require_once CACHE_MODEL_PATH.'content_output.class.php';
+ x" [5 Q$ U: e( [! X, x4 crequire_once 'output.class.php';" \5 l6 ?& C4 Y* ~
if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了6 [) y+ ]: ]8 ?6 ^' e
$r = new_stripslashes($info);   //反转义了.....关键2 j( c8 {# s" D9 X# f" j. C& Z
$C = cache_read('category_'.$r['catid'].'.php');9 L9 l3 J& }& \9 j. n
$out = new content_output();
9 B& q/ L8 S" z: c: _$r['userid'] = $_userid;
" T7 u1 L6 b; ?$ b$r['inputtime'] = TIME;' n2 u0 O7 G( n, \: Z* _9 _6 S8 Z, [- H
$data = $out->get($r);
) P/ r3 }* |- F3 _) dextract($data);! ^  o, l# p1 C* w1 B
$userid = $_username;# p1 b6 Y% g$ `: \. [
for($i=1;$i<10;$i++)
* x/ W. ]' E8 x$ y" {6 c{
. I" f4 T. V' Y! D$ q  @, l% B    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
% n! _, s8 o; X8 p+ B# i' g}* d4 Z8 N% z; R4 \+ @
        
) R  i3 v2 b" Z$ D" T$array_images = $str_attachmentArray;; |* S7 l  z) M# r# ]
$images_number = 10;
' `. c( I0 Q( l& W- p, [8 k2 n3 Y; W$allow_priv = $allow_readpoint = 1;2 F5 W) q# Q% j2 c/ w# N
$updatetime = date('Y-m-d H:i:s',TIME);1 U! y: d4 z" j9 m# |8 s0 t( b. i
        1 o& b/ Y4 B  |: @4 [3 x: c
$page = max(intval($page), 1);
% ?/ K5 S/ z% N# f- b$pages = $titles = '';
9 A) b/ d/ `- ]+ `8 ~if(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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