找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2802|回复: 0
打印 上一主题 下一主题

FCKEditor 2.6.8文件上传和CKFinder/FCKEditor DoS漏洞

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-10 10:20:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文% }" N- }* {# @6 V2 C, b
% H1 |7 b. f9 s) r$ A: |5 R
原帖:http://club.freebuf.com/?/question/129#reply12  y' W$ m- C5 w+ S% l2 [

0 Q% B6 V* a; {7 @FCKEditor 2.6.8文件上传漏洞
4 Q. V: S( P, T( D2 b9 n) ]8 ?- @* M) R- e
Exploit-db上原文如下:8 i9 m- E/ D! n* E0 u3 F
( b- \: \* P% L" m% ]1 E
- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass
2 K' [& u. p5 S% ?. d- Credit goes to: Mostafa Azizi, Soroush Dalili. |; r( E" L4 _, e' u
- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/
( J% ]; F1 s6 C. w2 T8 u- Description:
6 a! u, I; D! p2 z# c5 RThere is no validation on the extensions when FCKEditor 2.6.8 ASP version is# u! }* b1 ]! t8 i  V2 o2 ^
dealing with the duplicate files. As a result, it is possible to bypass% I  l. e: B% |& P& z
the protection and upload a file with any extension.4 B# |+ O8 D7 `- ?" J& @
- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/
9 c/ B8 z/ Y% N! Z, T: z* i- Solution: Please check the provided reference or the vendor website./ l) x& G: {- f8 ~  m0 \+ H& j

1 `' V# U% d  B. c7 f- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd720' m+ r) f$ j6 d" x
"
" ?9 o: N/ E4 v$ Y+ tNote: Quick patch for FCKEditor 2.6.8 File Upload Bypass:
* O$ x4 i) _" O+ [$ o" c# j
1 I$ K+ I, a0 p4 J1 c& a5 T) |In “config.asp”, wherever you have:* x9 J6 h; l/ V# `, f* ]9 t
      ConfigAllowedExtensions.Add    “File”,”Extensions Here”- o/ f7 M5 R0 u0 \- n
Change it to:
# T* F. l6 T$ E" k% \& k' S% }      ConfigAllowedExtensions.Add    “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:7 J- R* Y- I2 F8 e0 g7 I0 ?7 ]

( _5 M, t" S- r8 \4 Z0 l, Y0 ?1.首先,aspx是禁止上传的' W6 I# c" }0 V% Y
2.使用%00截断(url decode),第一次上传文件名会被转成_符号
9 w" J% l4 J9 G; j; r+ Y: H+ k. N% m+ m4 s- u

- Z. k7 q6 c0 |& D1 Z9 v) i3 g4 }% ?0 g4 q9 @
接下来,我们进行第二次上传时,奇迹就发生了
; d% U7 d$ k) o: T+ g8 s* k
  \1 }  \; |# |
- o1 e% E/ a, A0 e* m6 C! P7 q3 A% y) R4 T) D" M3 E' d0 P7 |
代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html: ]: U" V8 Q  j: f8 [0 _* G9 i
' z1 T; `1 K( {9 L' z/ _
8 L! Q: g" t5 F0 j2 m& j& c
0 Y0 m$ N: U9 b* ?) `8 d3 p
CKFinder/FCKEditor DoS漏洞
; c2 k: h, s& R" N- O# {0 \" t% j+ M) z, }. G2 v  P. m# o) }
相比上个上传bug,下面这个漏洞个人觉得更有意思! g; N# i8 C1 k6 ~) r
- i) F' T  n) {
- W  H8 m" }  S4 F
) v7 F" B  Y2 {$ Z. a) w
CKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。 ; z2 c6 ^5 f7 D( m$ W* u

. H! ^; w4 a. U- CCKFinder ASP版本是这样处理上传文件的:
  i1 t+ \6 j2 O
5 M  b& O6 D3 I当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。  ]) o) g. K1 z/ D% ]- H" e
! r0 P+ n, R) ?5 d$ X. m
那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下). \4 j. \, D9 k% v

. _" F1 \/ k, J& O: A, k4 K  @dos方法也应运而生!
4 D5 Z- b2 r7 p2 V0 J5 ^3 S: L2 h
  {8 H( G+ `7 D; R
* P7 `7 x2 n7 }4 b* v* P+ F5 `( N# d: a/ D+ r; s4 z
1.上传Con.pdf.txt
+ h" I9 i9 C- c8 X  m2 f5 Y2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。
7 D6 [1 J/ A6 o6 J3 v2 q2 R7 q- A8 A) P; |0 l# U1 `. x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表