感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文3 Z7 d" c7 [, s/ X5 r
% B' ]5 z C% D+ }
原帖:http://club.freebuf.com/?/question/129#reply12
8 v9 ^+ Q0 H1 i5 o
5 W+ |, c. X5 P( y8 H- fFCKEditor 2.6.8文件上传漏洞& `2 x2 k4 x9 V+ e
/ K$ Z8 H, f, H; @4 K: `# C
Exploit-db上原文如下:- J5 N$ O! B3 F3 ]: L b- a
! G" b6 ^6 U$ L3 H8 H3 T- {- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass U" f3 Y+ q; o4 r. |. ?: [8 L$ X1 p' t
- Credit goes to: Mostafa Azizi, Soroush Dalili
& K G) T7 T. A3 q# Z0 T8 Y1 \7 [- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/
^# z7 l3 }4 B5 n4 ^$ ]8 ]1 G0 g7 P- Description:+ Z6 o! G9 H6 Y
There is no validation on the extensions when FCKEditor 2.6.8 ASP version is
* y0 [+ ?. s; {9 x' ydealing with the duplicate files. As a result, it is possible to bypass; r! `* w' r1 g, c5 ?8 E
the protection and upload a file with any extension.8 }3 T5 T! C j8 i, {1 ~: n
- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/
/ e; N2 @& f- T% k- Solution: Please check the provided reference or the vendor website.
+ z0 l$ g P2 ^! V; t/ y4 h
% h; t& ~+ D- e% T! Q. n1 ?- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd720
. ~/ k+ X$ G/ m0 [/ [; @9 E"9 z+ F( V) n5 M7 _) i
Note: Quick patch for FCKEditor 2.6.8 File Upload Bypass:
7 @6 r o+ {/ ~0 s$ i- Y) k# B2 ^" w
! g( W. k* O% {: IIn “config.asp”, wherever you have:
% e0 n0 W' {: q, @( u+ c b' o: e ConfigAllowedExtensions.Add “File”,”Extensions Here”
+ \* }* a: t8 I4 `0 A7 sChange it to:& `8 L4 q; s' |* w2 M. M
ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:
: T W2 v8 C* R9 h }9 i" V2 n( w4 R; H
% }9 Q/ F& Q+ o0 s0 g! J; t1.首先,aspx是禁止上传的
$ }; T3 _" l- [: p2.使用%00截断(url decode),第一次上传文件名会被转成_符号
( I$ R% ]! R. O$ \, o: K( @; W q+ b6 M
, U" Z7 a5 R- W$ c( _1 j! s. Q# h
; u2 p1 B( I% l接下来,我们进行第二次上传时,奇迹就发生了
( b# F2 C8 t! B+ V* \' b
; c; P2 K: |2 a3 I2 s& r3 ?0 [9 G$ X2 X$ y8 B
. z0 t: D; l# |! v$ k9 z代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html7 B6 x% `/ }8 j# R1 s3 O( ?
7 L* k. Q0 |7 w0 c
7 U3 k( v5 } c4 l
( Z% L7 I2 m' v9 m7 {3 bCKFinder/FCKEditor DoS漏洞
. {( H' ~7 N4 w' _* W+ S0 F
6 _) Q: Q# c1 a# x, X5 V0 @相比上个上传bug,下面这个漏洞个人觉得更有意思& I! b6 X6 n9 z- G5 r6 j; _
3 n. ^% K/ I3 B# `4 H2 V5 ~2 y& K
. E* X1 O+ X% @" O1 |& ]( P0 j# u" [( k+ G9 c. P! z& X. D
CKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。
" i2 ]$ c1 A, H9 X& J( b$ m
9 a+ {: ^; Y, a0 Y9 i8 aCKFinder ASP版本是这样处理上传文件的:
9 R: a. K# R' H$ a& z$ @) ]
; x2 H9 \1 [. d2 t* f当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。
1 B/ ]) m. m9 s( R# X
2 k$ A1 u( k! F. Z: t" ?# ^那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)1 O1 ]/ s# s$ x- h) k
9 G* k* D; F* Z+ Sdos方法也应运而生!( }: o h2 d. `# Z! ?
0 ^+ w4 D8 N. E" h6 K0 c/ c
# S- H* I) _6 }7 J2 R, S. a* u
6 q0 @. v# H' [3 G9 x' d
1.上传Con.pdf.txt
2 m2 H; k0 ~& d3 @2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。
0 h. ^- Y- T" c( P( B& f9 f
! o# O/ I" O1 h, G |