感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文& L3 D9 D3 n% H( k& d+ }& }
4 _' t) s2 ^# w* `4 @
原帖:http://club.freebuf.com/?/question/129#reply12
- H ^" c* q a" h" f* s0 g9 ~4 Y4 D: J6 A. [' F, ?6 n& {9 g
FCKEditor 2.6.8文件上传漏洞
% k' S5 F$ A, V) @# L0 ~* e! V' Q7 S# s$ _
Exploit-db上原文如下:; f5 w8 t9 l& z; d i' ~
5 G6 w- w. M7 A. A+ `
- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass
. C, j I/ W1 H2 N- Credit goes to: Mostafa Azizi, Soroush Dalili# X- n$ `& w# h
- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/5 X7 ~: w$ l7 a) O& q- E( ]1 ]/ H
- Description:
! |& p7 A% m4 \5 K( d+ ?) X* m- dThere is no validation on the extensions when FCKEditor 2.6.8 ASP version is
9 b( z- ~" R5 Rdealing with the duplicate files. As a result, it is possible to bypass
/ a, }6 P! }$ A5 P4 Y* vthe protection and upload a file with any extension.. I5 R6 V" U1 X5 C/ W
- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/" x- H: j9 S5 q! K+ f8 J
- Solution: Please check the provided reference or the vendor website.
# Q; m9 e+ V5 A8 V( d! G% e
7 n9 J* W+ h3 ~: c- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd7207 G( [) r/ G& b
"
. S: y2 d8 ^5 N/ n2 z9 ~$ D& bNote: Quick patch for FCKEditor 2.6.8 File Upload Bypass:" E( r/ X0 i* y) I, b! ?
0 S9 \: `$ @8 R/ o5 |$ i# @( z' m# jIn “config.asp”, wherever you have:
k2 K; j) T2 B* ~ ConfigAllowedExtensions.Add “File”,”Extensions Here”
' \. c. _0 E* s3 H% E/ `Change it to:
4 O4 X6 o+ M( q0 W3 F, v* p0 q ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:' r$ A5 F4 w/ K% E) b7 A5 E
9 k" q1 x+ W+ D1.首先,aspx是禁止上传的1 D6 ?: w8 X! b o/ }% s
2.使用%00截断(url decode),第一次上传文件名会被转成_符号
0 {7 p; j8 w9 O- F2 Y. R7 a! |; q+ L% p* G
: q; y3 h, S! B; \$ G# I1 v7 V- M
& R: o6 z7 m" V" l- U5 u
接下来,我们进行第二次上传时,奇迹就发生了! c8 \( Q* G9 ?: ]. Y! D5 g8 L
4 ^, p F1 ~% e' M
2 |7 Y" w6 {" F: R
. r: G$ N% @+ ~6 L7 k代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html
6 W) B5 b. p3 y1 ^ x( K/ c& h: u- e* C
6 q4 t8 i3 {4 K2 a/ z! i/ l& F
/ y1 R0 c2 g( N4 D5 x) s7 H# w
CKFinder/FCKEditor DoS漏洞
' D t) D. Y5 Y3 @# d$ A) w1 S) l+ {' f' L' _" ^
相比上个上传bug,下面这个漏洞个人觉得更有意思" X% ]8 e b7 O3 ^, l
, m5 f& W* ?+ k, G: H/ ^
4 G) x/ G! M: c+ C& r
' r# G' I: X+ g. z5 ^; ^" ICKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。
" _: v+ J- p/ F2 w/ i' G" d3 _& M$ @3 i) k# M2 c0 e; O
CKFinder ASP版本是这样处理上传文件的:/ q" P$ x% |# z- x. w3 ]# g; j8 J
1 p. S/ R5 d6 R0 @, K& O
当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。
( w) g: [6 s3 K e7 c. ~0 e# [+ f
( u, F/ J6 L& W3 j) B那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)
2 l7 M0 `& P& [ a7 t8 ]# b C
, V2 Z( H) U! v) P$ K5 |8 c$ Xdos方法也应运而生!7 h, G( r) q. N! }8 U
0 B- {3 D0 ~/ q. n5 R5 V7 x 8 G* }% ?% G! F# L7 @9 R B
N; `: z& U- W5 {: I" ^1.上传Con.pdf.txt
! f. a/ c6 P2 Q2 a( I2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。
; c% {' X4 I/ E: ^; i
; |* N+ O" w* s9 k( Y3 R |