找回密码
 立即注册
查看: 2750|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......; X6 y, H; ^4 \! X0 f2 t* t

6 I$ e7 o. C) E3 Q7 Z   要转摘的兄弟们,你们还是带个版权吧!   
  M, N7 Z& {9 Z" j* E  v( ]" O; Z2 H% u1 L6 E0 u
  组织 : http://www.safekeyer.com/   (欢迎访问)0 {, Y1 ^. z* R7 u) ?

! q, n4 ^* G; H+ q# W' Vauthor: 西毒    blog: http://hi.baidu.com/sethc5- ?& H8 g# ^& e
  C' B8 S: w1 D. [$ y1 P
     # A3 Q) S. |- _  S
2 D  e  V7 y; F% o9 x
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.
' [$ _# j% @; N9 [5 m6 B* ?5 t+ Y6 b) U( j+ k
过程不明显的我就省略了。
9 }9 ]' G) v. h% D6 y' |' \
4 C/ q+ e% @% [2 V; K( B; P& O在preview.php 中第7行
3 e# @( ]2 u, A% \  e( U% T$ W
: g. y7 z1 h+ V) j$r = new_stripslashes($info);  G4 ]/ t' C& e# g1 k3 G6 [/ V0 L
0 j1 u# Q+ O# u8 q6 }# l
我们跟踪new_stripslashes这个函数
, s7 D+ E& Q( O1 Q- U3 {  B8 J% S( A) {. v
在global.func.php中可以找到* J( Y$ k- _9 ^$ x$ \

* @( W1 [( e) P! z6 y1
0 Z" W+ c" v" P2
% q) j4 ^- X- k/ W( u7 {3% x* Z! ~6 O/ ?; m4 `' ^
49 b7 j  t4 Y8 I! Y/ B8 u8 ?) T/ g% {
5
. l" \9 l9 ^. r8 N6 function new_stripslashes($string)
6 K: }: y0 T- f; W) I* I, R{# N7 T# @9 A- N
    if(!is_array($string)) return stripslashes($string);% ~! i0 q. p4 B" m  m3 Y: W6 P; g
    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);* x% e' g, L8 b4 t! V: N
    return $string;
/ d! P  `3 _; U' O; L: ]4 k' Z}
; I6 ^7 ?9 Z; N% c3 h; N8 Z- n- M  {4 o  {% ^) M$ n* e
这个函数的功能不用解释了吧: A5 b/ t9 G$ u+ ?% Z) M! r
4 \: G  `$ v0 S" x
所以我们看具体应用点再哪?# s8 m. u1 r7 F

: P3 F, J+ w: {) u* v: l1 q14 I0 f: \6 B" t) u
2+ W+ L( ?0 q3 S3 g/ F( t
3
, x0 k+ ?% X8 u5 [  l  u/ n4
! I( W0 x' t0 R! H55 u4 _+ r) i  T  V1 B  o
67 C4 R( Z) X3 w6 F" A
7
+ ]" r, ?# |. H1 s, a8- w; D$ R; j) b% M) o5 r
9
/ u  v% `" {* Y0 i: K& G10
! a. R; [* k. @  Z6 R8 D3 k/ k7 H11
+ M) l) ?' ]# x: j; Y( {12( \) i, m! A7 l% ]. A1 ~) l
13# B) M( T6 f/ a8 J, i0 t
14
% y; o  h( A& O! i- U$ @" }4 @15
6 ^9 y- u5 t+ f! h' L; o6 m1 h& l163 h& i/ E( A+ \! l: |
171 \4 W3 Y6 F2 e4 l" k0 e
18
& \, @3 i  k$ U, C" [2 l( f19. |( z5 z* a# w; M6 u2 [
20" B; ~: d! m/ p  T- o5 X) w: O/ J
21! `9 k* W6 Q& Q/ C: x  F4 N
22
6 g2 B8 D' \$ @* t( k7 L6 }/ Z& z23( N5 a7 o, u0 G: d5 S6 O! Z+ i) h
24+ G0 h/ W- ]4 \) Q1 F) f) |8 ?
25! m1 m: U% g3 n) p7 F5 Z
26
+ ?* J- T$ Y# x& |3 r275 S, J  _8 x2 \7 J5 C
28
: X) D! I: h1 p  g29
7 T2 |5 {6 I1 {# U1 \# x307 Z; _' {+ `3 J3 R" w, g$ T
31
: p& O8 ]8 |0 @326 x* Y% w% Y- b# {
33' s+ n* V2 z& v  `! e. y- t& H
34
: I5 ]8 A  v4 i( H% e7 F# l35 require dirname(__FILE__).'/include/common.inc.php';
0 L  i5 `  ~  s8 w+ u# `3 K5 h7 N' kif(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.
9 N% r0 A) F+ m& {4 Arequire_once CACHE_MODEL_PATH.'content_output.class.php';
' a0 y- p" U  }2 y" s9 xrequire_once 'output.class.php';6 q, ~! P3 F9 ?
if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了' ^% `# z- E5 {  a" v% V6 Z3 B" q
$r = new_stripslashes($info);   //反转义了.....关键: @3 m& P* B0 P& o0 J
$C = cache_read('category_'.$r['catid'].'.php');
1 ~  E$ b7 l% G$out = new content_output();5 |$ k7 P8 ^" m& h% A* e
$r['userid'] = $_userid;# K3 F  P6 c5 G6 _5 i
$r['inputtime'] = TIME;2 X8 C; _: _0 T1 w# c( F( l
$data = $out->get($r);
: Y( C8 }" b4 ^. T' R9 [& Pextract($data);( A. k' t- \& _0 i! `. H
$userid = $_username;
3 I  P% ~# F" ?0 w( k6 vfor($i=1;$i<10;$i++)
! B7 Y8 D9 V3 g{. `, }" \( {' r4 ^1 A
    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
* H* k  H) `% y" x& v7 C  d: N}% R% N& p0 \/ ^9 W" k
        9 h' D3 C+ z8 U" x7 G8 t
$array_images = $str_attachmentArray;
  q0 Z# g# O2 t5 ^$images_number = 10;7 i6 c, x8 X5 r2 h8 f0 o
$allow_priv = $allow_readpoint = 1;
0 h- T0 x$ j, D1 q6 `9 k3 L: F' ]$updatetime = date('Y-m-d H:i:s',TIME);
0 s( ~6 t& b+ P' @* h% ^        9 o) y8 S" u; Z! [+ v
$page = max(intval($page), 1);
0 h( ~) \; g0 M$pages = $titles = '';1 g0 J& Q3 o" V4 p9 R! `
if(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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