感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文
8 M4 e4 V0 k/ d0 N0 V
6 Z$ z+ y: F* ?6 n' U/ U7 k8 g1 i原帖:http://club.freebuf.com/?/question/129#reply12
: \/ u$ l! ~' b1 D2 g5 V& _+ A) P7 p) ]5 S/ }$ o
FCKEditor 2.6.8文件上传漏洞) o4 V5 g1 e" w; R
. }/ T/ s. [. m' ? @- w* N7 kExploit-db上原文如下:
* n; \5 z4 x2 T# ~* h: {8 U
) l9 [2 \( Q' l- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass+ m5 d; c, A( X5 U1 v. `
- Credit goes to: Mostafa Azizi, Soroush Dalili
8 l' v3 K" Q/ ~7 G8 a/ M- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/
6 m, N0 G1 ?, O) @9 [, }- Description:$ f; R+ {7 o' x: l) Z
There is no validation on the extensions when FCKEditor 2.6.8 ASP version is% p1 h3 c3 a7 A9 S/ _& [/ d3 m
dealing with the duplicate files. As a result, it is possible to bypass
' O5 | A: ~- e' o4 A- W$ Y% jthe protection and upload a file with any extension.
. @1 f$ N& {& N4 m$ {- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/
9 ~ k; _+ {: D: z0 `) P- Solution: Please check the provided reference or the vendor website.3 Y6 j- I' Q# s
3 x7 m* Q; A& P$ F( B. _3 o
- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd7205 v+ Y" y' G( o- F6 I1 j
"3 d. G2 m4 J. u
Note: Quick patch for FCKEditor 2.6.8 File Upload Bypass:
Y9 s& V/ m, t+ p. M7 f. _7 Y1 S" ?$ x1 L
In “config.asp”, wherever you have:- P( y$ K7 H, v1 D6 y3 I/ k
ConfigAllowedExtensions.Add “File”,”Extensions Here”7 r; z q+ v& e# v% A& C8 U
Change it to:
3 ]- h3 D! V' g4 _& N+ m$ j0 i ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:/ l; B: G4 X; i7 [
* J" c1 ]0 t. n l
1.首先,aspx是禁止上传的, A: @7 q, v8 _/ r2 s- h* t7 j
2.使用%00截断(url decode),第一次上传文件名会被转成_符号
; ~/ l5 L( N2 ^9 N4 ]' Z
3 _) a- C3 k% z) \
) n3 Z- j2 f7 t* T! U6 ]4 {0 y% w8 a$ }6 J
接下来,我们进行第二次上传时,奇迹就发生了5 C' l3 q q2 F6 C" J) A
) e0 Q. y# V x7 r( P
& e, s( q9 x6 e& d+ {2 c" B
$ F Z8 t8 j, U( J+ l. M" ~& ?5 Z
代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html
7 L) a# r6 [0 x) T7 k) F" p0 L6 [( ^
0 [" Y$ p+ e. z- J7 V
% {" `, I4 Q" r, f5 R: D+ X
CKFinder/FCKEditor DoS漏洞" _; u- F4 b9 [. V
# `9 z+ b' U7 m2 \% N
相比上个上传bug,下面这个漏洞个人觉得更有意思7 q' O' J4 W$ [. U( s4 U$ V$ q2 ^
% ?2 V% z5 m( j! m. Q7 ] 7 i" ?0 B6 l5 v$ l
2 U. l6 `2 e& i: I+ \4 m
CKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。
$ W" F% a0 i, m; L& ]8 e' ]/ @' Z* \+ k6 G: U4 |& h% v: l( a
CKFinder ASP版本是这样处理上传文件的:# G: P5 q' N, C- [
% `, p" L2 a4 ^, F当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。. R* \# e/ u; \; @* |( p( X
& ?1 ^. f4 }' x6 D9 ~- K- \( z2 P那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)
) j2 w0 ~; d, A8 p+ F. _$ D. Y$ _( Q$ M8 f$ c1 u6 }7 U$ U2 W
dos方法也应运而生!
1 h5 I6 ?* y6 `, O) m
5 u4 u' M4 W8 d) Q L8 g& M
5 Y. o! O: j8 |0 z) W
1 D" v2 u9 u- q& Q3 @1.上传Con.pdf.txt
" z+ C- g" r' n9 d1 a1 v2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。
4 A, }6 b. D1 l# V! x
3 v8 E2 x) B: c |