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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......
* i& ^9 J+ c9 H& ?$ `$ |
( g# K6 |0 Z9 _6 [! J. X9 F: v( ]   要转摘的兄弟们,你们还是带个版权吧!    8 B$ O7 I8 n. n- k6 K% |5 p7 A

3 f0 @) f  [4 r/ ^! V  组织 : http://www.safekeyer.com/   (欢迎访问)5 j# y% |9 t8 p7 S

* w' M' s8 G$ |" _author: 西毒    blog: http://hi.baidu.com/sethc59 ^" D% i" Q, ?7 R$ T7 ~. n; T

) |- S* X' V) R     
4 g5 T& Y+ Q# ?3 a" H$ w2 ~. h8 L3 @6 r( U  _
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.% f+ y$ ~0 T* S$ `3 D

" A/ J$ X$ I0 [! i; a6 `; v过程不明显的我就省略了。0 E2 l+ x' a& e3 ^1 A1 [

8 z6 @1 v1 t$ t8 Z: f7 H6 x8 f- I在preview.php 中第7行* E$ \6 L0 d4 X1 _  p9 f

- x! H( }' e* g: T0 x$r = new_stripslashes($info);
+ e( ~) e+ y+ V, s. X, m
: g3 I# B! ?# ]/ s1 M我们跟踪new_stripslashes这个函数
3 W* o4 ?! F" V0 Z! N  i
0 K% Q) i9 ^  m在global.func.php中可以找到
7 g, B) a# p, E. B, G* p, d" m% o+ G6 L& w
1
& S4 C- F: m3 [: S1 ]2 s2" b) c, o4 d# a3 R6 V
3  g% ^2 O% ]8 a2 W! A# S
4( [& z) Z6 f" ]9 B' J
5
+ w1 G7 y/ ^' l7 V% \) G5 _6 function new_stripslashes($string)
7 R* \+ d8 ^6 X- g7 P{) C9 E* y+ i0 y8 a
    if(!is_array($string)) return stripslashes($string);
& m) W& d! F5 n; v7 u, V' b' ^8 c    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);8 U9 Q2 E) ^; [% o  `* H, R
    return $string;
+ Y& b  M6 f* U+ n+ Q}
6 F/ h9 v* N, f+ B$ N8 I
9 D* z: g/ s; o/ N4 f: Y# V这个函数的功能不用解释了吧
0 S" e0 T% x( e; D1 k' d- w- W7 a
( C# X; v. l: T% z6 K, J! s1 F所以我们看具体应用点再哪?1 |/ v/ K! `/ e& z# ^: c; G" E

; Q7 s; E* n! d) {4 o( k6 \1
% y; u6 Y" k$ N8 I: N5 W. n' l2
& [% C2 P* Y" E3: }. a7 N7 w9 n( q5 o
49 l" j; `6 }" j# u
5
" [0 j) o3 I8 K. R$ d7 d6
9 M9 q1 x0 a' {6 v$ t& ~7
2 c& q4 T$ j6 }% A- q$ `8" B+ X. _6 w" u, ?
9# Q6 S& a% Z/ C7 j2 i  |! x& ~
10+ M0 \& M+ L  D. L6 F6 ~) z4 l6 I+ A
11
- a/ j+ _" D& p  Q+ Q" x12
0 u3 L& q" K5 ~1 [13
1 a% k- w' C4 z5 C" m' p142 m, G1 y* b8 t) k
158 m/ f8 ?0 _# ?* t3 U! O& a" Y
16* c7 t+ d2 h5 F& H4 M
17
' n! t0 r: z- H6 i18. R, V" L0 y7 |0 J8 i! p
19
2 _  t6 i! R, @) f& \201 M7 P! A# y/ {8 N6 \" K; U$ ]
21" X/ T# p, D/ R: a4 V
22; ]$ R% B1 d/ E; ~* @3 f
23
9 \4 m  ?9 K& J* w24
. V" m- y( z+ w9 \. A25
, W0 `4 d9 |2 C1 e$ B) K* K26% \. g! [! x9 ~! O& M
27
  ~7 y( l" Z- O28
3 R7 c( X# P% J; _29( a' i6 i# T8 s, I1 E6 N2 p
300 q9 J9 T  o2 P8 W3 r
31
! t2 a+ K) E0 `32
* d4 ?0 L6 C+ l( A, Y- A/ F! j  g33# S$ Q3 M7 V, M, A" w% g
34) m1 s  z% a* T5 \# f6 i& F3 d
35 require dirname(__FILE__).'/include/common.inc.php';* h9 N* E  {- E9 c( a% x% o9 B& V: ^
if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.
7 ~3 t) P) b7 @- i! w) T& |: W& lrequire_once CACHE_MODEL_PATH.'content_output.class.php';
0 h3 G/ G) c/ |  o! Vrequire_once 'output.class.php';
9 C6 y( B' h& Z% rif(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了; M& H0 o, ^4 Z4 X" H4 @
$r = new_stripslashes($info);   //反转义了.....关键8 u7 ?8 B  I- n6 M  @3 ?
$C = cache_read('category_'.$r['catid'].'.php');# w: t+ r& J  O$ I0 R9 S1 v5 j
$out = new content_output();
3 }  T$ L# }* F( {& I0 W$r['userid'] = $_userid;
1 l  Z  n" e( }# G) G$ [/ T3 M$r['inputtime'] = TIME;6 C1 X- B$ G5 J
$data = $out->get($r);
6 T) {/ j& D1 X7 \- aextract($data);1 w/ X5 f0 g/ `/ F9 R9 ^
$userid = $_username;
/ R$ f6 Z4 U6 H( q8 N4 t2 v( hfor($i=1;$i<10;$i++)
) J8 E# X% R* r( ~4 ~* f{$ ]* b! u- y6 y: R" {' s! x# h
    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
+ W7 W9 q2 q- ^# [8 m}
9 U# y- E7 D6 G0 N# N( t( G: b        
6 L9 A) y2 ]9 z9 [& v, K% b2 j# o$array_images = $str_attachmentArray;
8 M0 X4 h1 d+ {8 w3 @6 N$images_number = 10;
+ b' c0 F6 q  L8 j5 j$ c$allow_priv = $allow_readpoint = 1;
# `0 l1 Q' w! n6 r; Y3 V( p. [  x$updatetime = date('Y-m-d H:i:s',TIME);
" O! P' Z, F* k+ W        
9 h3 O# n# H* A- ~/ k6 u9 ~$page = max(intval($page), 1);
& a0 d0 u+ u( X. ~3 P$pages = $titles = '';
9 t/ i  |( ~1 n4 i: t. B8 V" O  Lif(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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