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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:17:38 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
说好的第二季来了......) c" v) c8 N2 ]' K3 q

( R- ^# n$ y' z4 o# K. @   要转摘的兄弟们,你们还是带个版权吧!   
* M% @# u# d' Z
( W4 B+ N5 Q( _4 M) d  组织 : http://www.safekeyer.com/   (欢迎访问)) U/ M6 S# ?) _/ [+ h
; r* Z) J) f: ^8 c
author: 西毒    blog: http://hi.baidu.com/sethc5; W- N. _% v, A- s; M" f

5 c" _5 z/ D9 |1 {/ N5 _; `. Y' l       A4 ], K8 J' e) |
' s+ ?5 b. l' B& }
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.
: n! H; C' l6 y3 g2 A% j& m0 I, ^( `( `. A% i8 ~# F8 l
过程不明显的我就省略了。
  |% w8 D- B) ]  T) b
) J/ _6 F9 H/ E: w+ U4 k- I6 n在preview.php 中第7行: R5 l+ D) X% V& b, x- o
7 Z$ V, }4 p: f$ B
$r = new_stripslashes($info);# u) n% H* i) l' c& {" f$ A4 I

2 ]6 W. Y; K+ }* T, g" Z7 {4 b4 z我们跟踪new_stripslashes这个函数( y3 ]9 ?4 T. A

: }7 e8 a) |# F- c; ]; j2 B在global.func.php中可以找到0 B6 t6 M* ]& E% ~$ O7 `
) H" ]- P1 v" k8 v! N2 L
1+ v8 \0 L& O, s+ z) G' J9 W
2
2 |7 s! W! E' c: G7 }* j3  n9 u: U) b+ M( A
4: ^( L6 v0 r" D; b, L
5) D; y7 d& P/ ?, T1 R& I
6 function new_stripslashes($string): s. U+ q( w6 V! ?: ^9 @
{8 Z  Q7 h3 |/ S7 c) A( F" X
    if(!is_array($string)) return stripslashes($string);
6 @, W+ V* _0 s0 i. P5 |  V# D, n    foreach($string as $key => $val) $string[$key] = new_stripslashes($val);0 d3 T- V# p+ A% D4 V" S6 N
    return $string;/ C$ a! n8 A' e1 ~0 m: g
} 3 h9 |3 b# t. g7 Q) f
' f8 l1 a% f2 u
这个函数的功能不用解释了吧/ z9 C1 p# L! [

" |; @& I% {- c2 i, Z7 t所以我们看具体应用点再哪?
! `, K5 ?6 \9 {6 I( b8 b, ?5 ^) @" I  P* |5 u
1
9 r; L0 B6 k* |0 p; F" {2! t# X) z+ D* G
3- [; H5 p# J# s" }  [) x
4, \3 ^' r, X& c; ?$ `/ c: m- I9 I
5
% |4 ]. A$ C/ ?/ \6' b5 z5 x; d( a+ W5 N9 ~0 g) D
7
2 }" }! h2 b5 \/ I8
0 c. M2 K  ]  L9, s! N: U6 p4 o/ e
10
5 R) M) j0 ^$ g) @6 Y! f, I) c112 g8 W: D7 X+ U) x0 N( h3 D
12& ]! y/ r& U+ N! H, {$ d$ j; y( [
13) N0 A9 J% D/ o! y, W) S; @
14
* x$ p$ c% c) p, P15
2 P4 I; S6 F" s/ c9 \3 a$ M  {16
; P$ _% E; q( c7 _5 l0 Y) d17
9 J* X  N6 i8 r184 _$ t  c, H# g% z
19
! O0 h5 A* u: w. ?' @; @  N20
( H+ X# J. ]% x0 K) k: X! z21/ ]/ M& ]$ ^3 c* ~! v; Y" q
22
& O4 E$ o# s) O4 _! n" ]0 k23
% _5 p* I/ M5 V24
% y8 T6 J/ l0 N25$ c! }4 ]$ C* u( a9 @8 z4 x& G+ }1 h
26' o1 N4 ?+ w; h+ L$ _6 i8 X, [
27
* C$ ]2 k3 L$ B8 X28' a& Z9 [9 B' f* w
29# v7 w$ y+ N4 a. [* y
30
% d4 U1 _1 |* H* k5 \. R$ n+ s/ I31
4 I( `: u) ?4 n4 Q1 R' ~8 S329 m4 A8 o1 Z3 B, h$ J
339 w7 I3 m3 n6 q7 M! _
34! T& R! Q* p+ v, P& k! l
35 require dirname(__FILE__).'/include/common.inc.php';
8 I0 j7 @5 e, I2 L  \3 [if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.
: _; G( j6 l! J1 v" _4 r5 \require_once CACHE_MODEL_PATH.'content_output.class.php';
: V/ r  ?1 Y: D) [1 N/ c0 Trequire_once 'output.class.php';
/ T( y6 `/ |9 c  \% G/ r9 a+ Bif(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了: V2 D, C8 N. m* \7 l
$r = new_stripslashes($info);   //反转义了.....关键& T; d7 o2 W) T' Q
$C = cache_read('category_'.$r['catid'].'.php');
! V% h( }+ |1 {6 z$out = new content_output();" W* c) a4 d8 k/ D! n
$r['userid'] = $_userid;3 n$ o0 r/ P( W; ~  @+ M1 H
$r['inputtime'] = TIME;
% d( i- \/ i2 e$ w$data = $out->get($r);' }6 f. w* L# F4 ?. Z9 H
extract($data);
2 L  \! e* [' T, G$userid = $_username;: C, W+ A( T+ B2 u7 a7 w  ]( ~
for($i=1;$i<10;$i++)
$ V7 A2 v4 H. }- Z  Z% M{
3 ]$ s* l" t" t  z    $str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");' B! S. z& X: f  [; S. A
}* U; Q# Z  F3 ~% ]
        
; H/ `2 d/ \! K$ x5 {  y- C$array_images = $str_attachmentArray;. p) N* n: g: J! C, ^/ u' C7 ]
$images_number = 10;
* y6 C/ @7 d7 s4 q: x$allow_priv = $allow_readpoint = 1;! G; p  o/ F* E% D9 ?$ L/ J) r( m
$updatetime = date('Y-m-d H:i:s',TIME);
: y2 V2 W  ~( v        7 r/ H" z) {4 o0 N+ O) ]( i  `+ g
$page = max(intval($page), 1);# t2 A8 z7 |4 M( Z- q
$pages = $titles = '';7 }7 h" D+ o' F/ g
if(strpos($content, '
回复

使用道具 举报

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

本版积分规则

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