感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文
( ?: f& \* P/ |5 ?! y% O d, ?$ l1 q) f# `1 M% M
原帖:http://club.freebuf.com/?/question/129#reply12
6 Z* W1 U1 S. K( ^5 ~+ C2 U1 y/ R' d$ q6 V6 }( e E* d
FCKEditor 2.6.8文件上传漏洞
( U! p! x/ f" ?3 [7 T7 G- q$ }& P) x
Exploit-db上原文如下:
% ^; z$ u! h* J0 T
! U4 C" R! k% \- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass- a x) s5 `- {5 C4 x
- Credit goes to: Mostafa Azizi, Soroush Dalili
- u4 L2 P `, O/ M! }- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/; f& N$ }8 e5 Z2 _$ \
- Description:) ~: H0 m0 r+ R# ?
There is no validation on the extensions when FCKEditor 2.6.8 ASP version is
* v# {- e* }3 d7 C( S9 {$ r2 Idealing with the duplicate files. As a result, it is possible to bypass
8 z5 v! l: ]% h, P! W! G, ?the protection and upload a file with any extension.7 |' p7 P& {. ~2 K: \4 s; }
- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/
) i/ _- r A7 ]$ N$ R, ?/ G3 p- Solution: Please check the provided reference or the vendor website.# `* L; E2 g0 q
1 B# e1 G/ h9 Z& d9 H
- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd7208 R+ N" P$ q. z) T5 i
"& z" j) `6 I+ J7 Q0 I0 m: Z. w
Note: Quick patch for FCKEditor 2.6.8 File Upload Bypass:7 t( d6 c% D( J1 n
) d- ? ~* b ~! k4 ^2 j) K. aIn “config.asp”, wherever you have:1 u' L6 N/ Z# K
ConfigAllowedExtensions.Add “File”,”Extensions Here”
# ~. v3 P8 |: e e: zChange it to:
1 `- V5 x' [, l- ^1 X( U ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:4 Q; d- n5 O6 \9 `
1 e6 K& D. {: E; Z' p1.首先,aspx是禁止上传的; |3 @& Q! _8 D% l$ X, l0 Y
2.使用%00截断(url decode),第一次上传文件名会被转成_符号
# K. }1 o( y4 n* G. d$ J& S3 m4 M& l. t! D% \' `
' s4 [2 U! k: M9 M1 r. L' b8 T
( Y2 P0 Z& ]9 Y u2 W. B B4 y& V
接下来,我们进行第二次上传时,奇迹就发生了* j$ e7 g; w3 i) ]/ x% z: B
( l3 K# I7 p( E3 x
6 R2 w, g- O& N6 K( p( ^1 b
5 p" N8 j; l+ y$ r5 B6 u0 ]' F
代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html
; h! ?: u- O% I! s7 c
7 G$ W$ c ^; z) [- l# H- E
, t# D4 ~$ K( z5 I. ^) i' L& Z m
# q" c- I: j# R; fCKFinder/FCKEditor DoS漏洞6 A2 r0 o2 x7 R/ A% ~; a! V
. \$ `7 q, d, f9 b) q, \" T s
相比上个上传bug,下面这个漏洞个人觉得更有意思
5 B4 c3 a% z. R/ {9 H% e/ X! c* M
9 X# a2 y0 _+ P/ a" p# w/ N: K n* U9 [9 k A: L
CKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。
$ H9 v5 m4 L: X* ?9 Y1 v( h* Q4 Q( S& [* b( q" t* ^
CKFinder ASP版本是这样处理上传文件的:8 z0 T4 k; f! a L
?# l$ Y' F, i当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。( ]1 l+ Z. {* m; R) a& G1 k
' D. D K1 v, P4 _/ d那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)+ {/ e& E1 d5 p
. p# A# t' u- T3 _/ d3 g* rdos方法也应运而生!
% }! c2 ^3 ^+ y) [7 B3 l" ~& ^' E
- @; y3 v# ?$ p4 A8 ]6 g
% f$ e" z i% f3 B& X$ p& t! Z: X* ?; e' q# R
1.上传Con.pdf.txt- Y8 o: A6 M. m; f1 n9 Z
2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。
+ y# w. V" t6 w$ L4 M" m* Z w" K/ K2 u. [+ v) v& ~) d$ U
|