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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......
% |: n5 E1 s7 c8 S" y) B. a: X' w9 o
8 w$ A7 M9 I( Y2 Y, _2 T   要转摘的兄弟们,你们还是带个版权吧!    0 _- Z' g6 q4 {! G4 ?7 l3 d
- L. |4 B6 ~- E' `9 {, c3 R3 |
  组织 : http://www.safekeyer.com/   (欢迎访问): N. o6 u& j# A( c! C$ `' e

, o5 b& X% Z5 C. Q% Nauthor: 西毒    blog: http://hi.baidu.com/sethc5
% A' }# N( W9 |6 w' f( Y9 y# b5 `: d5 r: u9 m% q' i
     7 Y( C4 y" q! {) M3 l2 k3 X
; O2 u! q( P& K& l0 k
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.
  s: U& n4 Q/ k# p7 W5 {3 x9 X" n4 j+ |+ p
过程不明显的我就省略了。/ P' l/ T* Q  g2 `; q( z9 G
  u2 D9 e5 s& B4 i; d/ h
在preview.php 中第7行
& ?9 u4 M: B- G/ C- H( ]/ H7 K
0 b- ]- T1 f: e( E3 o' B' ~$r = new_stripslashes($info);
. J- G# }2 ]; J
& ~  r; s& J5 Y: H& j9 |' ~我们跟踪new_stripslashes这个函数( h( {* A* @- J4 T
2 ~/ T$ l; V' g* o
在global.func.php中可以找到* ]( n/ ~+ @0 Q
' H+ u( E) r8 M
1/ ^" g3 v5 s: m1 `/ H
21 }. D* k/ f/ h* U2 f4 N
3
6 l2 @5 E& G9 ~4' b1 s6 H# P1 p" b$ H
5/ g  ^4 f: I4 ~! V$ f
6 function new_stripslashes($string)" S$ _  @5 k( t$ S! u9 o/ r# v; ?6 _
{
. a- g8 \9 j: L6 s/ R    if(!is_array($string)) return stripslashes($string);
3 B& U# V* z2 R: L; n; U4 z    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);
" _! f! |- ^' J0 l    return $string;  _" G, d) W, Y$ Y
}
9 t0 C3 B5 m" t% v' M( d& v" N
) d1 @0 \' F5 i' E5 X) P9 o这个函数的功能不用解释了吧2 w1 @. c- q, r8 [
9 Y; x. H1 R( f
所以我们看具体应用点再哪?
4 k4 c& D( j6 S9 x# D4 t: q6 w
3 ^. D# E+ e. ?; f2 R/ {1
' [8 d1 I0 `" M  ?0 G2
3 q* ]/ M! t0 @4 @$ ]: Y8 r0 I3
! @. N: ~# Y; ~, e6 O5 m4, T: Q( A: d+ Z% O0 ^4 w1 B$ k
5
+ c' ]2 p. r( _. E) t6
; z( F, e. y; K71 L5 O/ w$ d4 @
82 M7 h* s; y+ m
90 w" {. u# Q, i" O* _# g
10
6 [4 K* B* Y! W. r11" Z& S/ h; W% c/ S/ o7 @
12
6 `; d* v- O/ |2 w8 ?13- \6 n9 \) ?3 d) [7 Y6 o7 @
14
7 V: d5 n7 |6 ^; t15/ ]3 V) t! J' @5 p; @. k  u* i: i
16) A- {  g* ~8 ~# I
17
* Q) e8 B! ?4 S9 ?18! d# X- q% l. |/ V5 o
19
$ }; C7 \  D2 D) r/ q4 Y20
$ n( H. j3 @6 n& }21
3 c4 E  |7 l) r% M+ \1 U6 m( d22
8 e2 }# o3 \0 I/ R. c238 I3 D& I. z8 k) w
24  y5 s6 U7 [: Y5 d% `
25
2 h4 s7 b# H1 U! d6 c# k% I* _3 v9 v264 o' c! p, q/ i5 w$ Y: ~/ W
27
  q8 F3 l1 i$ i# X6 D, _% T28
0 E9 Y  ]; k+ W  ~29
# m/ ?" m7 A( g: K7 x8 o5 a30
9 N4 C9 ~' {& a0 E. P31
8 a7 g# M! S% y2 U5 s6 m32. |+ [  r5 a! ]1 W9 J
33. c0 y1 |8 S! [9 @7 \! I! J+ @
34
( S6 g5 t  p2 Y) G/ c35 require dirname(__FILE__).'/include/common.inc.php';& U. K- |3 g9 h6 Z) P; E
if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.! r& @' ~: j( G7 Q5 D4 j$ I5 r
require_once CACHE_MODEL_PATH.'content_output.class.php';
& Y' b/ j, [4 V; wrequire_once 'output.class.php';
9 h* g2 s! |+ B$ G( _$ u$ ~if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了
, D$ X* \* n  @3 s: V$r = new_stripslashes($info);   //反转义了.....关键
% }0 W5 _0 n# j8 ^$C = cache_read('category_'.$r['catid'].'.php');- Q9 D9 `4 Z- d0 \: V8 l# I0 A3 K
$out = new content_output();
( a6 C; b) k4 v$r['userid'] = $_userid;
  V9 [  q; \6 Y$ i$r['inputtime'] = TIME;! _" b, i3 P1 ~/ _9 S$ g0 H5 i& A
$data = $out->get($r);
5 t( H5 k! H9 h9 _+ r# [extract($data);7 E0 c6 \& }* v' }+ p) T9 c
$userid = $_username;
3 Z8 t5 ^9 S( V3 j& qfor($i=1;$i<10;$i++)% D- R; H" s. n; J
{; t# @4 d  z. C7 o( f& u
    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");* W! O7 c( ~7 N; g1 ]5 P
}
. F4 z# _, R$ |. C, @9 Y        
$ R. Y3 F, R& Y8 B5 q$array_images = $str_attachmentArray;
8 S+ E( a- j2 ]+ y, j9 G/ d' c$images_number = 10;
  S$ ]6 ^6 |% H* W1 @$allow_priv = $allow_readpoint = 1;. }6 z+ H( j& m! R% o6 J
$updatetime = date('Y-m-d H:i:s',TIME);
- `; I- R$ `  B; G. c        " G2 D; a/ }3 C' K7 i) c0 ?! U
$page = max(intval($page), 1);  B) N$ X6 L( f8 V
$pages = $titles = '';: W/ @  M; U3 H. K5 i
if(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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