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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......0 C8 ]# G" m% k/ k3 Y6 o8 c8 Z' Y

9 [0 P7 H) o& V1 U9 [" \" C  p4 {   要转摘的兄弟们,你们还是带个版权吧!   
  `5 z- k$ ]  D4 E- F4 c& y4 C6 H* i. q( W1 }
  组织 : http://www.safekeyer.com/   (欢迎访问)) k. V/ g0 }% j" g* B* O7 Y. W

" u# Y2 k4 K; r' i! ~" L# O1 V2 {, xauthor: 西毒    blog: http://hi.baidu.com/sethc5
' I) d! m/ A- ]5 n. Q4 I7 c" w6 T9 l
     & Q' ?- v8 A  g7 R/ w" r' L7 }0 |
) i/ M; |. j3 a+ ^
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.
2 f: E4 j& b# H# T  U" X( n6 E! X5 U' @" y2 i
过程不明显的我就省略了。
$ q6 F. C9 @+ s' J' e" l
0 L. J6 f. O; \2 O& d在preview.php 中第7行
( Y; l7 {+ R$ K! G* j( i* W4 f: V  [* F
$r = new_stripslashes($info);% D5 d9 k2 W5 _1 I

- v8 d# k8 n; M# Y3 X我们跟踪new_stripslashes这个函数6 Y% o0 S# s0 Y/ B" V  Z$ p
* L+ h# H& _% d! ?# \- i% y& O0 `% \# s
在global.func.php中可以找到# ~& @. {* X" O( t7 M' P7 I. p

' r! t" T# N6 K4 q) }6 [! a- a1  r6 K1 @" a/ f
2
- t+ o" ^! ]# _+ A( k* ]( z/ W3
$ k( b0 e& X: @7 J$ X/ O1 o; @5 f4
( P# ^& ^6 K- O& _0 v5
, F7 j% V6 F0 K8 h1 K6 function new_stripslashes($string)  }9 S9 t' u6 k6 B2 s2 V- Z
{
, V6 H9 Q! p: l    if(!is_array($string)) return stripslashes($string);
1 v) S0 }. x- Z) E- O    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);2 o, ^$ `# M% W0 S
    return $string;
( O1 _  f$ W/ Z' B" C}
# N; l( R1 U! n: q- M; n+ R
# t# k) K0 j9 W0 k# T这个函数的功能不用解释了吧$ q8 M, T# I& O' ?; H

2 m. T7 n: s- A' q, A! r5 `. F1 z1 Q所以我们看具体应用点再哪?
, W' h) J* l: o7 g+ H1 o7 d* K% v+ x4 X2 d6 q% h8 k! K' R
16 j2 o! x" T4 _7 y) A
2* q0 c7 l$ v! \) \4 B
3
0 D3 r% @. a1 U1 o" @. L4* C+ c9 a5 A$ n" g. S7 k: y+ p
5: C4 r, x# `0 C. Q
6
: l% X  g' b: m7( }4 _6 t1 Q3 q7 Q) O
8% Q- k, \% e  f- _7 F' w! N
9
; A2 i: z0 \, x! l& w2 [5 H106 s- r* U6 O, C* N& B) |, i/ K; C% Z
116 w4 p! V6 `4 V9 X0 B9 a
12& G" d& f! ?% P! N: l" x3 ^0 `9 ]
13
: P( C- w; p1 D& m14' v1 @6 l3 r5 U/ ^9 J1 @" s! d
15
( {; l9 e- C0 A, |16
/ I6 l! r5 Q1 J8 m7 r, ~3 p3 a17
9 o, v8 V2 p/ m  p  Q& Z" o18
# ~# r$ S5 v& x- K; G197 ]6 [8 m3 M2 k6 e! j) e5 q
209 z" @' Z# B! l) x0 A' G: i
218 @" N8 O2 X9 I# t+ V. C
22
5 H3 y1 n3 h/ F7 m23
- w6 Y, G( a5 v4 O24
7 }  p; f- H7 K, X25& }- J" Y* r5 O0 o8 J2 a5 H6 A
26
& D; B% @) ~. Y7 m, x27
3 L, j- b, H7 B283 W* ?4 l4 w7 w" z& i: d, ?
29
9 ~, [- \( e6 y( b6 p308 Q0 Z) f: ]# }* @  X) w
31* H4 c% k+ k3 {6 U
32
1 ~7 w5 `! o5 E( Z7 [4 _- v33
8 y9 f- z* w3 @) e( K; N( z& b. f34
7 }1 @' v! t; ]$ U8 H9 u35 require dirname(__FILE__).'/include/common.inc.php';/ h$ s/ W) N9 V3 d' v: q% L+ w
if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.2 M7 s6 i/ k, m) u" E3 p# [1 b
require_once CACHE_MODEL_PATH.'content_output.class.php';
5 [0 e) Y+ u4 |$ O1 B& Urequire_once 'output.class.php';# ~: s* \, Y5 u9 T  r& M2 u
if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了
4 D1 I$ R# u2 @; ?$r = new_stripslashes($info);   //反转义了.....关键
3 t5 v+ c. j% O+ V5 w. K' S" Z$C = cache_read('category_'.$r['catid'].'.php');; J7 E4 X/ B  U2 l: M% n0 r$ ^
$out = new content_output();! `2 M6 Y4 e# M! U& z, Q& H/ V1 [" j
$r['userid'] = $_userid;
& x  ~' c& s1 N. h$r['inputtime'] = TIME;# ]: j+ y2 F* c3 k- T
$data = $out->get($r);8 q. q: \8 f4 Y4 A* `1 k
extract($data);
2 z( K! x$ r/ o9 n, {6 a$userid = $_username;/ e" }3 Q3 ^, S. j; m5 W
for($i=1;$i<10;$i++)
' k4 O7 f8 U& t( [! A  _; O5 `{1 L" J# y. V) B, V0 H( Q
    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
$ p4 s' ]' J8 Z* C}/ |) Y9 G' Z& v& m3 i, C
        
. L( x! R: s! N+ V$array_images = $str_attachmentArray;+ j8 j; ^1 i' E, i& h  ]' g0 n
$images_number = 10;
7 p) a, D* N, K9 e# V# t/ G  a6 h$allow_priv = $allow_readpoint = 1;
; {# q; G$ i" u% Q$updatetime = date('Y-m-d H:i:s',TIME);  [7 I; P+ S8 W  O# w" c6 o
        ' {: d- c2 ?% d( I  `( P& d7 l
$page = max(intval($page), 1);
; i7 J' T) ?0 H  w$pages = $titles = '';
5 ]6 C# N7 @+ Oif(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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