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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说好的第二季来了......
/ u$ i6 @0 X0 P
5 C1 e, F7 W7 W4 y1 |0 ]! L   要转摘的兄弟们,你们还是带个版权吧!   
. j' p* c' b; @! B1 |+ P* b; I- m# g' e
  组织 : http://www.safekeyer.com/   (欢迎访问)8 _& M; F3 B* W# Y( s+ d* p
0 o3 e1 V! S- D) z; c2 X
author: 西毒    blog: http://hi.baidu.com/sethc5
2 O) w# n0 t0 f. a- z( I& y0 k6 s' |" ^) Z1 n- y2 _
     
/ S0 b! W1 C( F+ c2 a& e
# `: J& ^# @8 d/ v) {: |/ ]: l$ i2 K其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.
! j( W2 B% q, w5 H0 a: u1 Q' w6 L6 J) W) B' h$ P0 @- U
过程不明显的我就省略了。5 Q& B  `5 u* t+ y8 W
9 K' V; M5 ~, i) Y
在preview.php 中第7行
1 k  H4 T% D2 b; l% ]0 y$ X
! h9 i" i& B' X, Y5 @" _$r = new_stripslashes($info);& ?9 j- g# x. r' f$ B! b0 X! _9 n
+ Z: y# l# c4 @8 h
我们跟踪new_stripslashes这个函数
  H( `+ h) u& e; J
  O1 {; f& o6 x' B2 k; [$ f在global.func.php中可以找到7 y: F1 N9 R7 g' X/ ~" @

8 E) i* f3 e* ?  x, y1
) f1 F3 i1 \* z9 ?: O% q2
- _- N" e9 z. n" s$ z5 v. G3 d3$ {, n( c/ ~9 n  c
4& U7 G' l+ E. S1 c# V8 p9 Y
5
- T9 X) T5 [2 c+ k% c, L* o6 function new_stripslashes($string)8 x/ m, C9 @! F3 g$ g3 ~9 a; o- Q
{
9 X  ^$ k# }; p4 L: `7 C/ F7 w# S* z; o    if(!is_array($string)) return stripslashes($string);
9 {! O( A- ^5 s; d" n    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);$ @* O3 _# f3 o" e, R9 Q0 R
    return $string;) d9 \0 y* {: }7 A. H
} ) E  ?/ v9 [! c! T

3 E6 b9 d* x6 X这个函数的功能不用解释了吧5 N9 f8 b' C4 c, }

: `" w* ^- j/ Q. {+ ~所以我们看具体应用点再哪?% }7 p  c8 m5 w; v) c& ?: s2 m
& q$ B; ?6 B% L* d5 f
1
/ g0 n7 y" @: m* m) o: u2
4 M5 l6 i; }7 G  ?3 z3 G5 ]3- H' f' |" y0 P$ O( f2 p
4
5 u: @: q, X8 S7 g5
$ G1 r* y0 d4 f' s' t6
% n& c0 E7 [2 q, |+ X& P8 k8 u  u7: z4 W# Z$ u0 f( J, W
8
, w  i3 Y* k  c2 B9 Q/ F8 y7 j9/ D% N; S: U* {* U, x9 q
108 T. J3 p% T" }+ R. _
11
& T6 ]! g3 i" e# A12$ Z+ B9 P) Q' t
13
" }$ f2 c5 r: P3 Z; W: M. G# Q14
% X$ o2 q! S% H$ Q0 Y15( b/ |5 f; Y5 h5 l
16! M/ b3 v" }, d( }! [0 u: U$ r
17
6 \$ B- [# V9 S0 ^, X2 W/ O" G18
+ F, v% W5 o! P3 o194 R3 H- _1 m8 u7 }! E
209 b0 f7 e+ e3 I
216 @4 w6 r( k; V) F* M
22
. o' D5 t& g" M7 k, l23) @/ u' C% `. n
24, @, h' Q* Z* Y" |/ z8 h
25
% I) w4 |- a) W4 K! t8 l26
: ]5 [+ {2 k4 I5 A7 T. |0 R27
1 `0 B2 B2 N" q: y/ ?. o289 V( {5 J) q3 c) R8 O! [
29' D$ C$ e2 t( \7 H
30  Q3 u1 [) i# z
318 V$ R1 z/ j: q# [, q! w6 y  l8 d9 |
32! C9 m" B- h& a0 Y3 a6 t5 \) `
33( K5 _5 ^% R7 A" {3 T5 a
34
1 k% o: j4 ^/ d% U/ u35 require dirname(__FILE__).'/include/common.inc.php';2 ^- }1 R% }0 @. H7 j  g, p
if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.
0 M3 r+ x  D' H$ T+ \/ G4 Prequire_once CACHE_MODEL_PATH.'content_output.class.php';
& g- z8 F& \1 j+ ?3 h8 trequire_once 'output.class.php';4 v0 z* g# f7 l' O: `- v
if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了- e5 I) d* g( I4 l
$r = new_stripslashes($info);   //反转义了.....关键
! @* U! D) N$ v; y3 b' T4 Q$C = cache_read('category_'.$r['catid'].'.php');
& L( \( j0 m& m$out = new content_output();
# _2 }  d0 ^0 E+ x# @1 {# z$r['userid'] = $_userid;
! I1 r) U2 P" o$r['inputtime'] = TIME;7 A: v. [8 r8 G. m. W& {' E2 ?
$data = $out->get($r);
5 {! |! {! a. C! Dextract($data);
0 K% Z. \" P  K7 L+ k1 B$userid = $_username;
" S' k/ Q2 k- F( j! S3 q0 L, n/ V3 pfor($i=1;$i<10;$i++)
# R1 Z! c! L- e& z" H. j{
+ f. p4 K, q; ~& b, b    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");+ B. s7 g/ U0 M- p- T/ v! V( d
}
- J, R$ c5 ?. B" b        - b2 s1 N! D! _9 ?+ u1 _! h
$array_images = $str_attachmentArray;
5 z6 e1 E+ r. ^7 K$ z$images_number = 10;4 t- w5 D0 k7 @; V) [
$allow_priv = $allow_readpoint = 1;/ B/ S4 V/ X( l* r/ G! F
$updatetime = date('Y-m-d H:i:s',TIME);; O  ~* {4 H" R1 X+ ?7 L
        
9 K2 A0 v9 s3 f$ r; R$page = max(intval($page), 1);+ D+ d# {( X8 J# B5 v5 O
$pages = $titles = '';
3 ?  F; }, o% @, w1 h# |* tif(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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