感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文
# d/ d0 E+ o% N* [" K P
9 o2 n4 H8 U k- D/ w8 z* l& T原帖:http://club.freebuf.com/?/question/129#reply120 ]* i: l0 z% L& b# g
/ }, G3 s. V0 ]FCKEditor 2.6.8文件上传漏洞& B5 g0 e. d+ w+ v* Z x
2 r$ v# ?& B0 Q( @. i( p5 w. O0 D- t! SExploit-db上原文如下:
3 R& r5 P+ L. E7 ~$ v: w+ _% a0 f6 d3 l
- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass
: @* d7 i/ l1 o- Credit goes to: Mostafa Azizi, Soroush Dalili
8 X; m5 b6 f& B& [1 m8 o5 B- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/" `4 A1 b. ~# C
- Description:
" d" O% r7 Z M0 C. MThere is no validation on the extensions when FCKEditor 2.6.8 ASP version is
4 O7 M( _9 w7 E+ M: I- v7 [& ^dealing with the duplicate files. As a result, it is possible to bypass( T" [5 Q" H4 h% U4 c& I
the protection and upload a file with any extension.. W/ x6 y4 `# p0 q
- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/
, J6 p6 K/ g0 H E6 q" x- Solution: Please check the provided reference or the vendor website.5 z3 R) _) u5 c" D$ n2 M5 i+ u$ B
/ f5 x. e; t: c' C$ e6 R% F: g
- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd720
- w2 G3 L; l' {" q"
4 d" O; x8 e8 {) Z ?8 x; ZNote: Quick patch for FCKEditor 2.6.8 File Upload Bypass: \: b# q$ L! R s3 i$ K
1 U6 N: O1 I3 j: W$ L+ ?3 H
In “config.asp”, wherever you have:% U& }0 r1 w' ~! o+ G" j B
ConfigAllowedExtensions.Add “File”,”Extensions Here”3 c( X4 b/ t) `8 S5 p
Change it to:6 R3 ]" C' f- I
ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:) N% x6 Z" ?- x) G4 G- M& M+ L
7 W$ I. x. L" Q/ d
1.首先,aspx是禁止上传的! L! E- l/ Q: l7 F4 L, n1 f
2.使用%00截断(url decode),第一次上传文件名会被转成_符号
( @0 |$ }; V- |3 ]" P+ e2 X: h0 g9 o8 `6 m K5 h
. H5 ^& R: q9 d. \( R' y" V. x' B5 R+ k7 D
接下来,我们进行第二次上传时,奇迹就发生了
/ y4 a% g: q( u* v$ Y
" s$ B! }8 h& Y6 k
: u4 M3 i2 B- i/ G2 a# p: q. M2 W5 T
& j% F& Z+ g* Y- N a3 L+ z代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html9 H4 O7 |9 q- l
( r w( a6 U! |) H0 c0 ~ % ~8 U3 H! |) x
2 {7 Q# d# K7 o: o6 O. k' _CKFinder/FCKEditor DoS漏洞5 b$ Z; E0 K* [8 p5 @7 V
' h9 L* Z0 F5 V8 u
相比上个上传bug,下面这个漏洞个人觉得更有意思6 F) c9 {: ^% _: b( e2 W. {* |
" Z* f; z8 q/ n! ^5 z. V+ _/ z& V
3 _) Q; r8 }- F/ E8 O; x3 H
; T; V2 c4 f1 p6 K h! l$ d
CKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。 / Y* ]! O! }4 x
. O7 `* J) g0 _/ YCKFinder ASP版本是这样处理上传文件的:- U4 {8 X& q! [5 Q; }) l
- y6 n! H1 y& z- a
当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。* y4 {. f V1 v; \- @/ ]
% [3 n8 A: I6 ~9 [" n! d5 p, X
那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)
, y; q: G- ]9 V' E$ Y' ?" D2 m% Q9 ^
dos方法也应运而生!5 o* G% ?- K0 k. b+ s' `
& N; r) e _2 t5 x1 M8 T f
, I; Q" W/ K. c8 ?/ n
+ u; M2 Y ~2 P) O1.上传Con.pdf.txt3 s6 |3 | y2 |; B; f
2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。 G o6 l) d9 h9 j3 E2 a6 D. q
% w# w( ]! B' T- B O |