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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......* }% X5 p0 V$ y
* o$ K  K' W$ R! O( m% D
   要转摘的兄弟们,你们还是带个版权吧!   
5 _1 v# x& O5 Q
7 z9 o5 U0 l9 R8 m7 e" }2 O. e  组织 : http://www.safekeyer.com/   (欢迎访问)
) V  l5 f8 R9 z2 b
. K0 u5 P6 |3 i) p  m, Pauthor: 西毒    blog: http://hi.baidu.com/sethc5
4 S/ V( D3 t( q: P9 L. K9 e. l5 [  P
     ; N3 j9 W3 R# Z* j
1 t4 _. d3 o/ B& O! k  i
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.
7 G5 n+ a! P/ z* w4 j6 K. E- B4 J+ _" s* w8 z0 m# f* N
过程不明显的我就省略了。  t0 Z/ i0 b) Y  y' K  Z
6 H/ v/ T6 c6 F/ t3 I) I
在preview.php 中第7行
2 `! q: ^2 L  x5 A' b5 t$ h. ?2 i5 {" m$ o5 C
$r = new_stripslashes($info);- Y0 I3 D/ Y5 ^3 L  ?* |: Q. e

, k! x: n: I8 C7 s我们跟踪new_stripslashes这个函数) B2 z; K* Q7 F9 ~' [

$ f- @3 Z9 `1 U+ ~# S+ ^在global.func.php中可以找到
& C  _+ w" U3 z, u2 n  x, r& ]+ m- B: q/ ^  }' o
16 F( p) ]  Y9 r5 t
2
7 S9 z. T+ [/ ^, i. a3) y+ Z. p* k! A; b3 l
48 N5 Y9 A" n$ ?# [% ]! [7 j: L
5
& n2 L' R' r! z6 function new_stripslashes($string)% Y2 H0 l$ [# F' V9 x& H
{
( w+ Z' o2 n$ m+ A! i- i* o6 p# a    if(!is_array($string)) return stripslashes($string);
5 ]4 f' W% M5 t+ x& v" V5 O    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);
# M9 }5 _, `# e. Q" ]    return $string;. O7 g* U: Q9 N( ~- g) F: T
} 9 a5 t7 S7 g  a- x& [

* W5 z. R. @) }* |4 p+ w这个函数的功能不用解释了吧. d1 f) v9 w! B! g

7 O6 l4 L0 I) V, l) z( n所以我们看具体应用点再哪?- K* t- N* J7 F2 P- H

2 v/ D/ d5 J! X7 c8 [0 H1$ ]/ |/ v3 t+ Q  }- ]  y: d( M
2
6 L) I) H) r+ s" p/ W/ \) X3
8 r. Z# \) U2 e) X4
3 u! d/ e4 D  t8 V0 B5
4 D) M8 P( t# k9 w( |# \; |4 N6) s+ R6 o1 G( y' K4 o
7
, A* _! A2 o# ?: U2 T8
6 b2 N+ v  l- B2 s6 F6 @6 v9
- s- H" \  i4 P10; g! X" w# Z, U5 u1 F
11% e% g+ a$ p4 g
12. l! P) O8 [, Z$ g7 o, W' C# Q( R. V
13
2 M; t. z, t, |& T# _! w147 A% y5 J# n7 T# i
15; b: Y! P; z( V3 _
16: a9 q$ ^, B& |8 _4 W  p
179 ?: y1 t* E: w2 u- Q2 H$ r
18% h6 i; \& [! Z& A- U8 I
19
* u7 K+ q/ p+ a8 N: {; G20
, _) I; k9 \& E' t3 @8 T4 C+ @& c21" L& H5 a) @# _5 b& V) X
22
+ t+ j, S& r1 J0 r$ F% u( z/ z23
8 V7 Y" C( X! X24
4 i, B8 n' W, Q3 Q$ {, J7 K254 f+ ^& V) \) I. F1 x0 |: D4 h; U
26
& F; ~9 a: L3 t( G. E27! @- i. O$ S+ h4 w! ?
28
8 P; j) H3 t  W4 H3 f293 O) A+ u9 k+ L, C& i  {
309 Q5 [. \1 V* E; j" _" A
31
* T9 B! S0 c# s32, T5 r" `: Y8 G8 S! |
334 a) b+ c6 w% E4 \
34; q3 G4 q9 Y2 R% u7 K* K
35 require dirname(__FILE__).'/include/common.inc.php';9 B+ U7 j$ F8 v% `. D% b
if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.& R' D9 e! y* C7 ~3 Z
require_once CACHE_MODEL_PATH.'content_output.class.php';. c! {6 a$ k; c  b# ^, N. Z
require_once 'output.class.php';" I, r; [" m2 G' Q! K& H5 A+ i
if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了
  ~% F: X# o; ^) H: n: a$r = new_stripslashes($info);   //反转义了.....关键
$ P/ W+ R& s+ b* H9 J3 W9 V5 w$C = cache_read('category_'.$r['catid'].'.php');
8 G( r/ M+ U- t. Q1 J$out = new content_output();
+ P) d4 U: Q. A- @* F$r['userid'] = $_userid;8 G! F$ N9 j5 n
$r['inputtime'] = TIME;
) z( ~+ M; k/ i- _! E" [$data = $out->get($r);, w8 f6 ~9 M! F, M
extract($data);8 M8 a/ W0 v5 Z' D' z# ?" I, c8 i* i
$userid = $_username;' ]8 C7 b* n, [+ `: @' A" z
for($i=1;$i<10;$i++)
% k# v" j4 e+ P& O* Z# F{
4 p4 c2 e# `4 o" U    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
) `( a' L$ Y. [. W* k" ^}" Q4 q8 a5 T2 ^! G0 F
        6 ]$ D; a3 z7 p8 b3 r
$array_images = $str_attachmentArray;
! x4 E9 A, L  b1 L, A7 H( E9 l0 Y) w$images_number = 10;/ z/ ~9 c' ?" C+ Y
$allow_priv = $allow_readpoint = 1;9 }) L( D( ]% a
$updatetime = date('Y-m-d H:i:s',TIME);
% m. w6 L/ q7 B& }' @8 L) Q" |        $ A# s" G7 M+ B1 q; F2 l
$page = max(intval($page), 1);
1 ~; k* ^" [, u! q+ {: b+ i$pages = $titles = '';
$ t1 J4 R1 B4 s/ k& [! Dif(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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