找回密码
 立即注册
查看: 3086|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-10 10:20:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文' i% C. |5 ]. I! Z9 ~

# c0 A% t9 M& T- F+ m$ @# T; u原帖:http://club.freebuf.com/?/question/129#reply12* V& D, q3 }2 a6 F8 ?
4 F  z1 v1 T5 h& K! `$ a1 N
FCKEditor 2.6.8文件上传漏洞$ H1 u' {8 D, ~8 `; L* E- F& m

+ I7 _6 Y$ c+ B5 p, S9 fExploit-db上原文如下:  x# z3 X# r* {! T' B

' G1 k# G) I/ m& }' u, Y5 l( S6 z3 b: O- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass
$ p+ f: h( z% [+ W# s- z- Credit goes to: Mostafa Azizi, Soroush Dalili
' k! Y. V) n$ }$ ~* O! R- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/' H% |$ P. @4 V7 A5 I7 l
- Description:3 Z- @6 f' U0 r7 K
There is no validation on the extensions when FCKEditor 2.6.8 ASP version is! m- H' D( J+ W2 W3 y9 A+ v& B
dealing with the duplicate files. As a result, it is possible to bypass
( i' c  z5 h# A: Fthe protection and upload a file with any extension.* @- y. E. V4 n
- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/
/ `2 i1 z; e0 g  A" m9 s5 c- Solution: Please check the provided reference or the vendor website.
; m% `- ?- p6 X1 B& V$ m) D5 P
. N' O" q5 u) Y- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd7205 U- R2 v$ u9 t, Q% `2 x" ~: \* i
"
1 @3 k5 y, `5 ^8 s5 V0 a' BNote: Quick patch for FCKEditor 2.6.8 File Upload Bypass:4 b5 ~& C0 r. X( D
* y1 C1 d3 T6 G: ?, s- a% e% ?% s2 O0 F
In “config.asp”, wherever you have:  P, _& G' H8 {2 t
      ConfigAllowedExtensions.Add    “File”,”Extensions Here”% E3 L+ R3 O5 ]. }. q
Change it to:, b- R* W3 U/ S8 q
      ConfigAllowedExtensions.Add    “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:
) d: S# `3 m9 b9 v. i3 I
" }3 }4 d2 g1 G! r2 n1.首先,aspx是禁止上传的5 c) R2 L+ j) c  k  M, [- G
2.使用%00截断(url decode),第一次上传文件名会被转成_符号: f: E4 d- j: V! A9 i1 u9 }
0 f& P& S5 M7 k& S' l

( {5 s! ]7 w# j! w, s( \* u8 V- P# G% e/ I1 u/ k! Q
接下来,我们进行第二次上传时,奇迹就发生了
, C% |; b- A& w6 ~8 @4 e* @4 n# e1 m0 v6 o7 h
' e5 u! Y8 W! s5 O( k5 w

4 l- I* ?% z5 x' p6 ~" x6 @0 w0 G代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html
3 \* T* D0 @/ W2 v
. r6 D& ~  b' _- u: Z* ] # Z, w6 d7 m( s2 G5 A7 x% e/ X, ~

9 B7 e- P- G) Q6 g) o7 @CKFinder/FCKEditor DoS漏洞
  O4 Q2 }- P/ c: c0 _# N5 w3 B) v0 n: \* H( H+ q/ J, W: m
相比上个上传bug,下面这个漏洞个人觉得更有意思
7 L* Z/ T( Y2 X8 N1 j, f: W; k0 x0 ~9 d/ u
1 t6 Z2 c  x# w/ m3 k  Q" U6 C

" }2 E/ {8 V" M" L, ~' oCKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。
6 n; B" G2 T; I
7 w6 L- c+ B! u8 ]9 S* o; q$ _CKFinder ASP版本是这样处理上传文件的:  a9 d* B) T) V$ N3 U
, C: l5 E% ~3 y
当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。
/ d0 M( c; Q+ `% m+ }: k
: r+ E" m& B" D; r6 J: ~. i那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)0 C% r0 j/ t+ T
3 b5 _, m# |: Q) s
dos方法也应运而生!
- ~! V9 r6 q+ L- j% W/ w% _6 v: p* t3 u' e4 L' T- ]0 l0 W! Z
0 E8 M% I2 G$ ]
! {$ u7 R# }4 O: G8 Z' y
1.上传Con.pdf.txt
' R( I+ K7 Y, K0 d2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。
" u: A0 d0 |7 A6 e+ G: c2 c! g1 B/ z, V% x( O
回复

使用道具 举报

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

本版积分规则

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