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

Ewebeditor漏洞2

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:00:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
eWebEditor.asp?id=45&style=standard1 样式调用
  e8 C, [5 F/ N$ k" I7 P- K  T' c" d+ x: _# \1 f- l

% F; d2 ^. N2 a) k1 }4 g. N/edit/admin_uploadfile.asp?id=14&dir=../../.." Q( V' n9 A" \: I
可以浏览网站目录  ../自己加或者减. R2 v7 Q7 J  s, [5 O

( m! _; a# B% l% J6 T) C0 \/ }  p# ~有次无意的入侵使我发现了ewebeditor2.7.0版本的存在注入漏洞
% M  E8 `( o3 Y5 z. J简单利用就是: U; r- }% ]. z3 s  Z+ l
http://site/path/ewebeditor/ewebeditor.asp?id=article_content&style=full_v200* _2 y2 @. m7 J) Q, B) P( [9 Y
http://www.siqinci.com/ewebedito ... amp;style=full_v2002 M" m' r7 D5 D! J1 H1 T- a. i8 n
可以利用nbsi进行猜解,对此进行注入  M+ {- \! _$ I* _
还有的时候管理员不让复制样式,但是你又看到有个样式被别人以前入侵修改了存在asa或者之类可以传shell,但是上传插入工具没有,又无法修改怎么办那?也许很多人说应该可以加工具栏,但是我就遇见过不让加的
9 ]+ W& c: V4 x$ N: T# }0 |5 O这样我们可以利用ewebeditor里的upload.asp文件进行本地构造进行上传具体如下:
4 y# ]& @- w, r. e) h在action下面( x. o7 A' f- u& @4 p5 X
<form action="http://*********/edit/upload.asp?action=save&type=ASA&style=test" method=post name=myform enctype="multipart/form-data">
5 P6 {8 t' W# X  h<input type=file name=uploadfile size=1 style="width:100%" onchange="originalfile.value=this.value">
& w3 \' ^( k; E/ @5 _  _- r<input type="submit" name="uploadfile" value="提交">
3 C/ E% r" x3 e<input type=hidden name=originalfile value="">
$ \+ W* I8 P4 h1 l9 x1 u. e, u</form>9 e2 s% @! Z% J3 J  T
------------------------------------------------------------------------------------------------------------------------------------------------" w# V% m4 i8 w( Y$ z
<input type="submit" name="uploadfile" value="提交">    放在action后头% N( U1 Y* [' Z7 x- ^
,适合用于在ewebeditor后台那个预览那里出来的 比如上传图片那里,有些时候上传页面弹不出来,就可以用upload.asp?action=save&type=ASA&style=test 这个本地来提交,不过这个东西还是要数据库里上传类型有ASA才可以传得上。0 X5 M" b4 ?! W
9 j7 W$ d" f  ~
3 T# u" F8 t. N: x. _, A9 \# ?; G( C
5 o) ^2 D2 B- a5 D( [) j
3 {  {: O/ |& a+ g
Ewebeditor最新漏洞及漏洞大全[收集] (图)7 D' d* o* H, h7 O# u* d& G  E
本帖最后由 administrator 于 2009-7-7 21:24 编辑
; d4 k3 w, I' v; J. y1 j% {! \8 S  h  l; o4 E
以下文章收集转载于网络6 Z7 v0 s  B1 G7 V! }
#主题描述# ewebeditor 3.8漏洞[php]& ]. x" d! a6 W4 y
--------------------------------------------------------------------------------------------
; C: A% a' a- z* P#内容#: y% I" u* j8 f+ M9 a
php版ewebeditor 3.8的漏洞7 |; G; @5 w, e7 p' _" ?& D0 p
php版本后台是调用../ewebeditor/admin/config.php,大家去看下源码就知道,在这里我说说利用方法:; r0 m5 Z9 q! H8 e$ i/ z" |" `$ }
1 首先当然要找到登陆后台,默认是../eWebEditor/admin/login.php,进入后台后随便输入一个用户和密码,当然会提示出错了,必须是出错的时候,然后这时候你清空浏览器的url,然后输入 javascript:alert(document.cookie=”adminuser=”+escape(”admin”)); javascript:alert(document.cookie=”adminpass=”+escape(”admin”)); javascript:alert(document.cookie=”admindj=”+escape(”1″));后三次回车,( W9 _3 y( _5 U+ ~5 v
2 然后输入正常情况才能访问的文件../ewebeditor/admin/default.php就可以进后台了
& X% M0 y5 h2 Y1 v3 后面的利用和asp一样,新增样式修改上传,就ok了" A# P- ?9 T! z1 j1 J* p2 G
测试一下asp 2.8版本的,竟然一样可以用,爽,看来asp版的应该可以通杀(只测试2.8的,貌似2.8是最高版本的)+ s$ t9 `$ T% [6 l8 v
aspx的版本../ewebeditor/admin/upload.aspx添好本地的cer的Shell文件,在浏揽器输入javascript:lbtnUpload.click();就能得到shell
9 D& M' _2 N: a) k; ujsp的上传漏洞以及那个出了N久了,由于没有上传按钮,选择好要上传的shell,直接回车就可以了( z/ H+ Y7 N! {* g4 I, Z( I
--------------------------------------------------------------------------------------------* Z( U% C) W4 W2 Z/ G

" G0 Y/ Q* M" j! e' N' k2 g
3 @" Y  ^6 r, x8 l! R- f; `% z  c算是比较全面的ewebeditor编辑器的漏洞收集,现在的网站大多数用的都是ewebeditor编辑器,所以ewebeditor漏洞的危害性还是相当大的,做了一下漏洞收集,漏洞修补的方法可去网上查找。" |: u0 ~! ~3 ^$ ?
8 ~# }, ~8 |8 F3 g* \6 ]9 C
漏洞更新日期TM: 2009 2 9日 转自zake’S Blog
  T4 ~& }) i2 q2 U        ewebeditor最新漏洞。这个程序爆漏洞一般都是直接上传的漏洞,首先在本地搭建一个ASP环境重命名一个木马名字例如:1.gif.asp这样的就OK了
8 r) [) I4 W8 S+ k5 F+ S" k9 q9 m9 r: ^那么接下来完美本地搭建一个环境你可以用WEB小工具搭建一个,目的就是让远程上传。/pic/3/a2009-6-4-7341a1.gif.asp搭建好了 ,在官方的地方执行网络地址; f5 S" O( S5 D; m# [* d1 |

% n- I/ U0 z, d# C! N( z/ z5 C6 G/ H3 T! X1 f
然后确定以后,这里是最关键的一部!
, a) q* ^5 P: Z- R这里点了远程上传以后,再提交得到木马地址7 c7 t. h2 e. o1 h
由于官方在图片目录做了限制 导致不能执行ASP脚本而没能拿到WEB权限
( O( x! @& A5 ~. f9 |属于安全检测漏洞版本ewebeditor v6.0.0
, H# I& P4 h2 G8 H) W: }$ g- k) p; i$ e) i. k1 Q, Q, J
以前的ewebeditor漏洞:$ X0 p) }. W5 M# w
! H. ^. J! B5 Z5 [: F
ewebeditor注入漏洞) J8 T6 u, t, k/ ?  N/ Y; V2 S0 ~

+ p3 D$ z# }: x$ H1 o% U9 W0 f大家都知道ewebeditor编辑器默认的数据库路径db/ewebeditor.mdb2 |' q& Q( p/ k# e! C
默认后台地址是admin_login.asp,另外存在遍历目录漏洞,如果是asp后缀的数据库还可以写入一句话) F9 X% R( f+ @0 w) Q: O1 f
今天我给大家带来的也是ewebeditor编辑器的入侵方法
$ t9 k0 Y( L' N6 Q5 U. F- E& |不过一种是注入,一种是利用upload.asp文件,本地构造
2 n4 V9 t6 g6 j! W6 X; u9 nNO1:注入
, o8 W- ^5 _" i6 R3 mhttp://www.XXX.com/ewebeditor200 ... amp;style=full_v200
" Y, V4 w& x- Y7 m# i编辑器ewebedior7以前版本通通存在注入
6 h$ O) H% I2 n2 ?直接检测不行的,要写入特征字符: e' _" i9 N# ?6 n/ P# O
我们的工具是不知道ewebeditor的表名的还有列名
% c% K6 ^% f0 E: t8 H& g9 {我们自己去看看
& Y) b2 L! u: \3 G* m/ g5 x2 {0 V8 U哎。。先表吧
) _# g7 p8 q! n; b9 ?要先添加进库4 r3 c5 Y0 {- \
开始猜账号密码了
( v# w; A( v8 u# f- K我们==
3 c9 P5 @0 H2 G* ?- w4 b0 E心急的往后拉
; }9 y) N, B  f7 f% T出来了- w: d% k. K' N+ {0 y: g, `
[sys_username]:bfb18022a99849f5 chaoup[sys_userpass]:0ed08394302f7d5d 851120
' |  V( B" }& b; S9 {对吧^_^- I% x" q1 ]7 b8 ~% ~
后面不说了
5 i9 i6 k, I, V0 |5 [4 BNO2:利用upload.asp文件,本地构造上传shell
4 B+ F3 s! ?8 S; J% A' \7 s& B+ Y大家看这里  P8 V6 I4 ~6 E% s
http://www.siqinci.com/ewebedito ... lepreview&id=37
; {* E- ]; Y1 M如果遇见这样的情况又无法添加工具栏是不是很郁闷  @1 ^1 w1 r! [3 P+ O2 |
现在不郁闷了,^_^源源不一般3 j% w4 M: c$ X1 @0 M
我们记录下他的样式名“aaa”* H9 k  N$ \2 ]( u
我已经吧upload.asp文件拿出来了: v1 i4 Z1 |! T" s* T
我们构造下
5 W1 x  }) ?: M3 ^OK,我之前已经构造好了5 I+ G8 o" q! g( z& G
其实就是这里4 z; g2 d, T6 v) f; d! W4 V
<form action=”地址/path/upload.asp?action=save&type=&style=样式名” method=post name=myform enctype=”multipart/form-data”>* N4 t5 A' ]( f+ S; Y
<input type=file name=uploadfile size=1 style=”width:100%”>+ }& [) v1 b/ q# g/ t8 t1 H% N
<input type=submit value=”上传了”></input>
5 c6 }+ l1 a) f' Z# K</form>& x6 p, E! \- c8 S' t
下面我们运行他上传个大马算了' x( \4 B9 S7 \8 B% _+ |6 |
UploadFile上传进去的在这个目录下
0 a& @/ H4 H3 F6 K: h2008102018020762.asa6 h6 I6 Z! M3 W! k* s

5 O4 W' q- `( k8 Q  W7 o! a过往漏洞:7 c- H! x8 Q2 W! k. {+ y
4 s2 C- U! l8 _8 l
首先介绍编辑器的一些默认特征:
: }4 k: q' Z* q( P+ m0 B& A. j: r" \默认登陆admin_login.asp$ p* w& V8 \9 M( b
默认数据库db/ewebeditor.mdb
7 h0 B& s, I. w& v默认帐号admin 密码admin或admin888
, R( V8 n6 ^1 {/ G, f搜索关键字:”inurl:ewebeditor” 关键字十分重要" U4 g/ P; O% F( I
有人搜索”eWebEditor - eWebSoft在线编辑器”2 e6 K7 q+ M2 w3 k. M" }
根本搜索不到几个~& x) C+ W: X' h) O( u3 L+ _! y
baidu.google搜索inurl:ewebeditor
. ?. U- b7 ^  S& m3 C% f; ^- {. T几万的站起码有几千个是具有默认特征的~$ |0 y- E4 `" \3 d- h
那么试一下默认后台
; h" }2 y/ r6 i& u" K, r, M7 yhttp://www.xxx.com.cn/admin/ewebeditor/admin_login.asp/ C; `. L) x2 \, |) m) j
试默认帐号密码登陆。3 D7 k  Q, P" P3 F6 D" `
利用eWebEditor获得WebShell的步骤大致如下:# H( `! z8 j. t: T3 v# n) G
1.确定网站使用了eWebEditor。一般来说,我们只要注意发表帖子(文章)的页面是否有类似做了记号的图标,就可以大致做出判断了。/ |/ a5 {# P7 c
2.查看源代码,找到eWebEditor的路径。点击“查看源代码”,看看源码中是否存在类似“<iframe ID=’eWebEditor1′ src=’/edit/ewebeditor.asp?id=content&style=web’ frameborder=0 scrolling=no width=’550′ HEIGHT=’350′></iframe>”的语句。其实只有发现了存在这样的语句了,才可以真正确定这个网站使用了 eWebEditor。然后记下src=’***’中的“***”,这就是eWebEditor路径。* Y: b5 m& `* R1 T* X
3.访问eWebEditor的管理登录页面。eWebEditor的默认管理页面为admin_login.asp,和ewebeditor.asp在同一目录下。以上面的路径为例,我们访问的地址为:http://www.***.net/edit/admin_login.asp,看看是否出现了登录页面。
) K: A3 O4 _, X# J0 y" r如果没有看到这样的页面,说明管理员已经删除了管理登录页面,呵呵,还等什么,走人啊,换个地方试试。不过一般来说,我很少看到有哪个管理员删了这个页面,试试默认的用户名:admin,密码:admin888。怎么样?成功了吧(不是默认账户请看后文)!5 t! }) o7 E6 @- d, z
4.增加上传文件类型。点击“样式管理”,随便选择列表中底下的某一个样式的“设置,为什么要选择列表中底下的样式?因为eWebEditor自带的样式是不允许修改的,当然你也可以拷贝一个新的样式来设置。
5 ^5 x+ m0 P& F5 f然后在上传的文件类型中增加“asa”类型。. n: ^: \/ Y8 K% H
5.上传ASP木马,获得WebShell。接下来将ASP木马的扩展名修改为asa,就可以简单上传你的ASP木马了。不要问我怎么上传啊,看到 “预览” 了吗?点击“预览”,然后选择“插入其它文件”的按钮就可以了。1 G( j7 a' C7 J' O
漏洞原理3 Y% R, t2 g% y% s0 |1 d9 ~
漏洞的利用原理很简单,请看Upload.asp文件:
: I4 @: q' O" y( c任何情况下都不允许上传asp脚本文件
+ f' Y7 |6 e1 d; F% `0 usAllowExt = Replace(UCase(sAllowExt), “ASP”, “”)2 ~, F* z% X2 _, n7 ]( h+ B
因为eWebEditor仅仅过滤了ASP文件。记得我第一次使用eWebEditor时就在纳闷:既然作者已经知道asp文件需要过滤,为什么不同时过滤asa、cer等文件呢?也许这就是对免费用户不负责任的表现吧!' \; d' n6 w" W' }- K
高级应用
) s8 }1 k& [8 v5 \" |% qeWebEditor的漏洞利用还有一些技巧:& G  X( W/ J$ v3 ~
1.使用默认用户名和密码无法登录。; G& _  ~( Z) g! E
请试试直接下载db目录下的ewebeditor.mdb文件,用户名和密码在eWebEditor_System表中,经过了md5加密,如果无法下载或者无法破解,那就当自己的运气不好了。
6 d) ~$ A( }2 h! r  V( P' M2.加了asa类型后发现还是无法上传。
& k. Z7 p3 v; N( {/ t) H应该是站长懂点代码,自己修改了Upload.asp文件,但是没有关系,按照常人的思维习惯,往往会直接在sAllowExt = Replace(UCase(sAllowExt), “ASP”, “”)一句上修改,我就看见过一个站长是这样修改的:5 W4 p: D& z$ ^6 ?( I5 {
sAllowExt = Replace(Replace(Replace(Replace(Replace(UCase(sAllowExt), “ASP”, “”), “CER”, “”), “ASA”, “”), “CDX”, “”), “HTR”, “”)
$ ^1 z5 u- m  F. x5 i% b猛一看什么都过滤了,但是我们只要在上传类型中增加“aaspsp”,就可以直接上传asp文件了。呵呵,是不是天才的想法?“aaspsp”过滤了 “asp”字符后,反而变成了“asp”!顺便告诉大家一个秘密,其实动网论坛7.0 sp2中也可以利用类似的方法绕过对扩展名的过滤。' d8 q, k5 q$ w" z' U
3.上传了asp文件后,却发现该目录没有运行脚本的权限。. Q$ s. ?8 `0 m# }$ I: S- s, v
呵呵,真是好笨啊,上传类型可以改,上传路径不是也可以修改的吗?仔细看看图四。
  r5 Q3 [& `+ ^. @4.已经使用了第2点中的方法,但是asp类型还是无法上传。
) b4 e) y2 ^& d6 D看来站长肯定是一个写asp的高手,但是我们还有最后一招来对付他:看到图三中的“远程类型”了吗?eWebEditor能够设定自动保存远程文件的类型,我们可以加入asp类型。但是如何才能让远程访问的asp文件能够以源码形式保存呢?方法是很多的,最简单的方法是将IIS中的“应用文件映射”中的 “asp”删除。
# [% ]. E9 j% G8 H# n! V后记/ G7 b" H% v. G% r3 L
根据自己的经验,几乎只要能进入eWebEditor的后台管理,基本上都可以获得WebShell。在Google上搜索 “ewebeditor.asp?id=”能够看到长达十多页的相关信息,我大致抽查了其中几个,发现成功率约为50%。还不错吧?oblg 2.52版以前的版本也是使用eWebEditor,可以去搜索几个来练练手。要命的是eWebEditor的官方网站和帮助文件中根本没有这方面的安全提示。还有,我发现官方提供的测试系统并不存在类似的漏洞,看来不是他们不知道,而是没有把免费用户的网络安危放在心上!
6 O( E( L9 L8 ]基本入侵基础漏洞8 x8 ?) b7 v. X: h/ [
eWebEditor 漏洞
5 p2 ?( R3 |# v  E# c
$ W, a+ C6 S( u  ?* p$ K各位站长在使用eWebEditor的时候是否发现,eWebEditor配置不当会使其成为网站中的隐形炸弹呢?第一次发现这漏洞源于去年的一次入侵,在山穷水尽的时候发现了eWebEditor,于是很简单就获得了WebShell。后来又有好几次利用eWebEditor进行入侵的成功经历,这才想起应该写一篇文章和大家共享一下,同时也请广大已经使用了eWebEditor的站长赶紧检查一下自己的站点。要不然,下一个被黑的就是你哦!  9 p8 F9 c% V! ~2 H8 \3 E
7 ^* _5 T8 q% X$ G0 ^) q
漏洞利用
) E# w  I  B& K8 ^. ^  |利用eWebEditor获得WebShell的步骤大致如下:8 c) E' D8 s4 b, G& ~; s7 ?7 D  v
1.确定网站使用了eWebEditor。一般来说,我们只要注意发表帖子(文章)的页面是否有类似做了记号的图标,就可以大致做出判断了。
' p& ~* f# G8 t  l2.查看源代码,找到eWebEditor的路径。点击“查看源代码”,看看源码中是否存在类似“<iframe ID='eWebEditor1' src='/edit/ewebeditor.asp?id=content&style=web' frameborder=0 scrolling=no width='550' HEIGHT='350'></iframe>”的语句。其实只有发现了存在这样的语句了,才可以真正确定这个网站使用了 eWebEditor。然后记下src='***'中的“***”,这就是eWebEditor路径。
2 d1 q/ ~$ a$ ^; w- l4 I- z3.访问eWebEditor的管理登录页面。eWebEditor的默认管理页面为admin_login.asp,和ewebeditor.asp在同一目录下。以上面的路径为例,我们访问的地址为:http://www.***.net/edit/admin_login.asp,看看是否出现了登录页面。
$ W$ M0 P( t7 e8 \9 O  H如果没有看到这样的页面,说明管理员已经删除了管理登录页面,呵呵,还等什么,走人啊,换个地方试试。不过一般来说,我很少看到有哪个管理员删了这个页面,试试默认的用户名:admin,密码:admin888。怎么样?成功了吧(不是默认账户请看后文)!
4 W* p( X: e: S* a# ^4.增加上传文件类型。点击“样式管理”,随便选择列表中底下的某一个样式的“设置,为什么要选择列表中底下的样式?因为eWebEditor自带的样式是不允许修改的,当然你也可以拷贝一个新的样式来设置。7 Z9 v9 I2 E  E! u/ k! W5 h
' v7 @6 [$ N% j7 z
然后在上传的文件类型中增加“asa”类型。
1 J7 F. B: C+ ^
* @5 T, ]: u+ i5 E1 q6 Y$ u5.上传ASP木马,获得WebShell。接下来将ASP木马的扩展名修改为asa,就可以简单上传你的ASP木马了。不要问我怎么上传啊,看到 “预览” 了吗?点击“预览”,然后选择“插入其它文件”的按钮就可以了。3 U: E5 U$ b3 }# A
3 |! W) i1 ^, a5 n! W9 h+ n
8 W0 a5 Q# R9 r7 _
漏洞原理5 G$ D/ M. W/ \- m9 @
漏洞的利用原理很简单,请看Upload.asp文件:9 F8 o: n. \  J' z) [5 V: N
任何情况下都不允许上传asp脚本文件
. T+ M; n( N8 M$ ssAllowExt = replace(UCase(sAllowExt), "ASP", "")0 I0 C0 |3 {, d* X
因为eWebEditor仅仅过滤了ASP文件。记得我第一次使用eWebEditor时就在纳闷:既然作者已经知道asp文件需要过滤,为什么不同时过滤asa、cer等文件呢?也许这就是对免费用户不负责任的表现吧!* h  O, X  T9 i% u9 J% y* ?3 k
& N* c! ~6 m0 d6 f
高级应用8 ]" [9 H4 S+ R' `$ P
eWebEditor的漏洞利用还有一些技巧:, W1 ~: p5 X! v
1.使用默认用户名和密码无法登录。
" a4 j& c* h4 x- H/ A3 l$ `! N请试试直接下载db目录下的ewebeditor.mdb文件,用户名和密码在eWebEditor_System表中,经过了md5加密,如果无法下载或者无法****,那就当自己的运气不好了。: Z! S/ a; }( c  a
2.加了asa类型后发现还是无法上传。0 Y& Q" p, S# D* H: {  U* e  R5 }" s
应该是站长懂点代码,自己修改了Upload.asp文件,但是没有关系,按照常人的思维习惯,往往会直接在sAllowExt = replace(UCase(sAllowExt), "ASP", "")一句上修改,我就看见过一个站长是这样修改的:  [5 `8 f' e) v( K- R
sAllowExt = replace(replace(replace(replace(replace(UCase(sAllowExt), "ASP", ""), "CER", ""), "ASA", ""), "CDX", ""), "HTR", "")' i) x* _" `" v; w4 q# a
猛一看什么都过滤了,但是我们只要在上传类型中增加“aaspsp”,就可以直接上传asp文件了。呵呵,是不是天才的想法?“aaspsp”过滤了 “asp”字符后,反而变成了“asp”!顺便告诉大家一个秘密,其实动网论坛7.0 sp2中也可以利用类似的方法绕过对扩展名的过滤。+ I# q  l( u$ M) i) J3 {7 H
3.上传了asp文件后,却发现该目录没有运行脚本的权限。5 H. \" y' X' i
呵呵,真是好笨啊,上传类型可以改,上传路径不是也可以修改的吗?仔细看看图四。* d5 q& _5 M  C, S9 p
4.已经使用了第2点中的方法,但是asp类型还是无法上传。8 a: G* N3 o' f3 p
看来站长肯定是一个写asp的高手,但是我们还有最后一招来对付他:看到图三中的“远程类型”了吗?eWebEditor能够设定自动保存远程文件的类型,我们可以加入asp类型。但是如何才能让远程访问的asp文件能够以源码形式保存呢?方法是很多的,最简单的方法是将IIS中的“应用文件映射”中的 “asp”删除。. n. [* ]$ l; d6 T. n7 u! _+ e; \

  D9 C! l8 g, b: |% ^: M& c1 g2 P后记
; u6 w6 e, d9 N* A9 W+ Q; V根据自己的经验,几乎只要能进入eWebEditor的后台管理,基本上都可以获得WebShell。在Google上搜索 “ewebeditor.asp?id=”能够看到长达十多页的相关信息,我大致抽查了其中几个,发现成功率约为50%。还不错吧?oblg 2.52版以前的版本也是使用eWebEditor,可以去搜索几个来练练手。要命的是eWebEditor的官方网站和帮助文件中根本没有这方面的安全提示。还有,我发现官方提供的测试系统并不存在类似的漏洞,看来不是他们不知道,而是没有把免费用户的网络安危放在心上!
回复

使用道具 举报

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

本版积分规则

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