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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......
4 U/ A1 a* I  e+ p1 A! z4 ?
# k  }* T6 d1 O5 u( i9 C3 v2 K  s   要转摘的兄弟们,你们还是带个版权吧!    2 T% V2 J1 ^1 s; T: p% V2 w7 P

/ s4 N3 u, D  i- K" F6 u  组织 : http://www.safekeyer.com/   (欢迎访问)4 F( i( z& @0 I# Y

  L" d' P( `6 B" I+ {+ w/ u+ o9 Lauthor: 西毒    blog: http://hi.baidu.com/sethc5
2 `8 X& y! F/ i$ c' l8 H0 S
6 v* r- P0 x- W' S% |1 C     
( s- q" ]0 p) `& Z# L, E5 b0 k* n
! B! T" n. G" Y- |' p5 z- G* y其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.
0 Z, L: @) j9 G. s" y
% d2 N7 p; {  {* r6 {" v过程不明显的我就省略了。
/ ~6 x. n5 M! l' t$ |* q: E) Z9 t- i
在preview.php 中第7行. G8 t& R3 k( k$ y

1 O0 C' J+ p9 `( g$ z$r = new_stripslashes($info);* E$ e' g* B7 R6 f) g
- [8 e: v$ i$ g- Y$ R; P
我们跟踪new_stripslashes这个函数: ^; d! ^5 n. o- C! h7 o0 {/ h3 N) G
, J# D7 Q4 D9 Z5 m
在global.func.php中可以找到: S) `( `7 \( L3 K
4 a) j/ _  v! I% U0 o
1& s1 Y) |4 r) a; s6 j& M
2
- ^6 t4 b5 q/ P, s, s2 D6 Z* t  z3; Y, K' O2 u/ \: t/ K2 @
4
/ G+ o' E- M! x. v8 b4 T5) H/ R/ g0 U1 `- @
6 function new_stripslashes($string)
: @9 v: u! Z. Z1 W{$ d8 _: k! a9 A( ]
    if(!is_array($string)) return stripslashes($string);; ?4 x$ i" Z. J: ~
    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);( J- D  \% q" Q1 S  T3 H
    return $string;
) |/ s  M- L8 r* i6 l$ d} ! I* q3 l% r% w! `. p6 F* X
4 w! r$ }; v- K$ [: `) n' U
这个函数的功能不用解释了吧
! G  l4 Z5 J* T$ y3 v% Q7 c
# W/ j9 M9 X/ f: n所以我们看具体应用点再哪?
% m9 U. }. X* U+ p1 Z( H
$ m- t! t4 [8 N. e1 c' J( m1: x" A9 j* Y- [% `  ^& j
2$ C/ [  }) K& [5 E  X+ K
3
6 ?$ H% T/ {+ ~, q, g4
0 x" p9 R* j0 s, z0 e5
) f" W# ]; V$ E+ t& o( t67 N/ |1 @* S) U+ l9 {" v! ~
7
, m; H# R+ t% A8 N) n8
6 k2 m9 ^6 f8 A+ o6 E% v9 A90 [5 m& O5 s# L( W$ s. {
10
6 t' e2 S' K0 R9 }4 t4 P1 }11
& F5 a1 ~0 Z% M0 O9 _12+ X$ v& T, B) {0 w0 F& W( \' ^
13
# D) u7 \# Q7 f: h; x5 p- T14. R: q5 g/ s4 p9 k2 f# v8 n# Y
15
7 o3 ]2 Y6 M; ^; d4 t6 d- h16; D% y/ ~, A) `1 b8 z) r: p& C/ [! x
171 f: q( B; |4 \/ @$ L; }7 H
18  Q$ G$ [6 q6 Z
199 c  r  V' M3 `4 \! p
20! x+ C  y; L5 ~& U3 o( ~
21
$ U7 o$ Y3 \% n. O' Q22
- Q0 v7 A5 m' ], ~. R. ^2 J  H23
. K$ ]# f" P3 |  W24
( v' ]1 Q* o5 ~0 \* H252 {4 I' x! ]5 C; V5 v% q9 h; b
26
* T; n7 K* |; k( a' Z# Q272 H! }( O5 i4 j- [& a
28  b, }8 Y) \/ G4 u
29
, }0 k5 y/ a5 Z& n) w, M2 Y30
& J2 M! V* w( ]; U4 J5 x9 W/ T3 J318 D! X% S& ?' M2 n! S$ w
32
, r* E: C9 l' O  o9 N5 ^33
- ?. B% ]: U# \4 F4 @34
; r' h3 j1 @6 B7 s' U: x* \35 require dirname(__FILE__).'/include/common.inc.php';& s3 x' N- }& V- o8 Y
if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.) h9 i6 m9 _1 V* C4 {3 i
require_once CACHE_MODEL_PATH.'content_output.class.php';# r  _6 |, ]2 i/ o  a2 E
require_once 'output.class.php';
! }' N" f; d1 X9 F1 P8 yif(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了
3 @! V4 {$ E1 M, X+ c! O$r = new_stripslashes($info);   //反转义了.....关键$ F) R6 P; m' A% d- N- _1 r
$C = cache_read('category_'.$r['catid'].'.php');
; m& [" L; M$ L, |2 b) w. F& o$out = new content_output();
) B; z' [) _9 [- c$r['userid'] = $_userid;$ E0 ?2 M  a% _/ \- S' E+ w
$r['inputtime'] = TIME;
4 V7 P5 S1 q4 w$data = $out->get($r);% y* C! z& [* J: f8 b, ]
extract($data);% S) y' G2 c4 ]) X* i
$userid = $_username;
3 f, {! a7 m# o2 _6 v  `for($i=1;$i<10;$i++)( v3 p% y! q$ j) Y# c
{
% @7 {2 J: D! y1 g# |3 f    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
) X5 g) S- R" q4 C+ c* q}4 E5 p' o- K2 U: K* b" n
          @6 \. I7 R2 @1 E3 C
$array_images = $str_attachmentArray;
; a* l1 y, }, ^4 f5 E! d5 Q. ~$images_number = 10;# u! [) k7 L2 @* I# m; C& P. W
$allow_priv = $allow_readpoint = 1;: M; N! C9 \% @/ M' U$ T
$updatetime = date('Y-m-d H:i:s',TIME);
' R# |% K8 H% n. {        ! Q$ t5 O  [1 h; Y
$page = max(intval($page), 1);
9 D4 m$ \, H# c: D9 V: [1 X3 o7 @5 h: ]$pages = $titles = '';+ D# {7 ]& v, f+ ~+ y: L( E
if(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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