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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......( E0 G; o3 Y4 h1 n5 b3 l5 r2 D
6 S. D7 [) a, v' N# d' ]9 k$ s
   要转摘的兄弟们,你们还是带个版权吧!   
! s+ L7 J* V  N; V, d5 m& h5 [/ V6 m) G. b
  组织 : http://www.safekeyer.com/   (欢迎访问)
& p5 @9 c9 |, `2 i; V3 N
7 Z% H3 F, F  sauthor: 西毒    blog: http://hi.baidu.com/sethc5
  A" |, a' z( ~2 k6 A7 A0 \9 a
+ o, m+ X! ?$ }% J  y2 |     7 p  e0 ]. ]7 s
( O. ]0 S9 O0 a. R& C' h* O
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.
! [, S7 P" i2 o1 q, C0 ~. e' U2 s" c. I4 V. ?  ~
过程不明显的我就省略了。
9 r0 Q1 }+ m) J6 ~" E
" Z: Q& \9 e# Z0 X# ?0 w; J在preview.php 中第7行
4 F* ~  N, I, Q. k+ g& C6 O3 ^7 ?7 Z( q) z% Y" o, l) |
$r = new_stripslashes($info);9 {. W! ]9 s) e7 r2 K" Y

0 B; i+ x+ y. Y! K4 b$ M我们跟踪new_stripslashes这个函数' Q8 |0 E0 v, O# n0 ~; E
: {" n; Z: C) K$ L7 ~
在global.func.php中可以找到
9 X1 F' t1 b2 e; }: T
& x& H  x* I$ ]5 q) C3 a1 h1
1 [* k' p2 o2 x1 O8 U2) x- Z8 i% @1 _$ K4 ]2 i
36 d' x7 z8 x, x
4( M) E  C4 {. @: J
5& p9 ?1 Z! i/ |9 O: i0 h
6 function new_stripslashes($string)
6 |3 o1 s* p1 O7 D{
+ }& r; R2 D3 R. F: H3 i. a    if(!is_array($string)) return stripslashes($string);
9 f  @$ H" w5 ~* w+ s    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);+ s3 N) ]% s9 X: a  T
    return $string;
5 j1 ]5 Y3 B, b! N1 R} % k4 F# X" k% ]* D  n
3 t: D9 D! p* X! m8 j) E
这个函数的功能不用解释了吧' m4 `, f. g& @# O
. C7 x8 ]2 ?' Y' w
所以我们看具体应用点再哪?! A' W: l2 H$ A& B- }
: @/ Y. o/ b( v, E; I2 N0 ~2 [% Q2 P
1
' ^2 g5 P2 J7 n; U2" T  a# _' R6 ~, ~" a7 ]/ x
3
' X/ x# J  T; ]0 r( N1 E4
; Q9 @4 _/ i2 E6 z" l* Q! P51 D8 F7 V: X, V  v9 v  e
64 T; i, [7 C& d% t! [
7! `( z: w2 t- ?/ T8 Z
84 \) `1 S! @* b' P
9
* F# t2 ^( H+ z( U: e9 H) |10" m" H3 _5 y/ f6 u9 E9 s" ]
11
* X% J: O& b6 T: `( B/ |1 Y12
" E7 \1 [+ W" F$ `0 }13
& U- W0 M9 v7 |# K% ~( V14; W! k2 V8 Z6 g2 E( I" M
15& [1 T$ E9 k- `
16
5 w. I0 r0 W" e' R) ]$ i( D17
8 U% I+ A- O0 W5 m* Y6 G18. W% ~4 r: M- w+ D" P
19+ Z% D) g  }. m- L  ]
20
$ x+ l0 O2 V" [) X+ Z21
8 I& l( ?1 @7 ?4 i+ a225 M- ?) k5 _$ m0 a, f' U7 x+ Q3 ^2 l
23
: @& o/ n' d! [4 l( B' w24) k9 l! }) {& g" T* V
25
4 v2 x, n, {0 E9 v/ W, f; g262 j1 l  p9 a/ N' a) v
27; E* h( r7 c0 r) k. X
28
' C0 b1 f/ q3 n" c  y% C9 O291 C; e2 P$ D0 @. I: {3 R
309 y+ S) v% w, e
31
5 h+ ^# V4 U4 ^5 i: _  H# S32
' o1 i) @( \. l4 l+ R33: C! f/ J/ s+ E' o' Y
34
. u/ s$ J& ]) B/ K, y+ ?8 N+ }! t35 require dirname(__FILE__).'/include/common.inc.php';
. `7 Q+ D- d. k( g4 Lif(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.: u8 J! A4 U  \+ ?( A) E- X% |
require_once CACHE_MODEL_PATH.'content_output.class.php';/ {5 H! D( J7 Z7 {; D
require_once 'output.class.php';  m+ o$ d! v& D4 m) o
if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了3 X. k9 d2 @0 x2 Y9 S
$r = new_stripslashes($info);   //反转义了.....关键+ w+ i: V0 z) {, ~; l5 x0 F( v1 s
$C = cache_read('category_'.$r['catid'].'.php');
, Z$ a+ E6 ~% @% O- t$out = new content_output();+ F5 e0 ^% |4 v$ p$ y! I& [) D
$r['userid'] = $_userid;6 @, P; D  o/ @# Y4 y
$r['inputtime'] = TIME;3 x( v5 O5 ^8 t& r; Q! ^) q9 e! o
$data = $out->get($r);1 k0 c4 `* r6 j" L9 u  C/ U
extract($data);: C1 C; ~2 @/ O+ Q
$userid = $_username;# B! B8 O) ~0 B6 }. C6 E
for($i=1;$i<10;$i++)
5 {) f. C6 C/ e/ }+ t6 V1 o  c{. [  O+ q- @: r% h5 r3 e% ?( p! c
    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");, ^5 C. w& s) k, q7 f9 }
}9 F* r/ t2 w% }: `: {; W
        , {- H9 n" f7 l5 y
$array_images = $str_attachmentArray;
3 c# [& @8 D6 E% E! A+ B/ W% \) O$images_number = 10;
0 s( b( L* T0 O3 P$ j- r% l$allow_priv = $allow_readpoint = 1;
* e3 h5 s# G, ^& J# n; o/ i$updatetime = date('Y-m-d H:i:s',TIME);4 W2 u( b1 F; H' p4 B+ h$ @, [: T
        
# Y# w# O" B  Y/ N4 u, w: ?$page = max(intval($page), 1);3 I& o& J, Y+ y/ Y" _
$pages = $titles = '';
5 r2 E/ F* W- O% b4 A: N4 [  ]if(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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