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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-10 10:20:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文1 _% R# h  M9 F" _0 m% m

' F- A* Q: ?" F7 ?5 n# x& l原帖:http://club.freebuf.com/?/question/129#reply12
5 W2 _- k. O. u' u5 b" U
) h# Y% p' \: dFCKEditor 2.6.8文件上传漏洞9 \' n* I! ?; i' p

3 v/ ~5 p7 E+ \9 V2 w' ~2 i. j3 lExploit-db上原文如下:
) Q% q9 j$ R" W4 G  D" ^! M7 _( x2 F: m! Z* D% A4 {6 w& G& l- q: @
- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass
, l& v# }9 b4 b7 ^4 A: N- Credit goes to: Mostafa Azizi, Soroush Dalili/ a! H6 n9 Z1 k* W
- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/8 p7 r5 `9 |( s2 I
- Description:
2 c  U3 s8 x, P+ dThere is no validation on the extensions when FCKEditor 2.6.8 ASP version is* c# |9 W( x4 [5 E+ \
dealing with the duplicate files. As a result, it is possible to bypass
0 \2 Y9 R* i2 B; _: X9 hthe protection and upload a file with any extension.
9 ~( x( t! u% L8 S9 w! {9 S" y6 d- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/% b0 p5 Q$ p% s# i6 J; _
- Solution: Please check the provided reference or the vendor website.# x- l! o) W8 k
" ?1 I- b" `9 F! {& N% \' n* _- l
- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd7209 u; n' d% l8 u
"
* d9 O% e; h9 a# rNote: Quick patch for FCKEditor 2.6.8 File Upload Bypass:
* d3 ^# {3 x) d( {, \0 l) }
) K" P( ^- `1 \: c# k0 _In “config.asp”, wherever you have:  v; Q6 e- `& L) X
      ConfigAllowedExtensions.Add    “File”,”Extensions Here”* p7 Q9 y0 N1 a$ x6 u
Change it to:, q5 t( U- p1 e0 q
      ConfigAllowedExtensions.Add    “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:( o# s$ u( Y; q) M; \; {
. }. P  f/ i) M7 P
1.首先,aspx是禁止上传的' c& p" e1 v9 b5 K6 O
2.使用%00截断(url decode),第一次上传文件名会被转成_符号* l3 N, T9 s9 t. G& g; S
" r& ?, K. U; B7 f
4 [8 r- {7 E) ^/ m! G, `, u8 n# I
; Z3 g9 k0 g+ x8 m
接下来,我们进行第二次上传时,奇迹就发生了
+ m$ V; Z- ?8 a7 w$ u; ?
2 Z9 a  b# n6 D7 j" a+ n( p4 Q1 R8 t, `. X# c# K
1 o2 L+ W0 s$ G" _6 x
代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html
5 z. N: T* ^4 F9 g2 V# X" X
: T9 v( i. E* B
, y2 c' U; E" H$ }4 i& ?) [+ X6 {1 |* v0 z: [2 W, }! o2 ~' ?2 |
CKFinder/FCKEditor DoS漏洞
0 F* x& H/ _5 s5 Q- \7 x2 m
" `% x( O$ S5 L2 z/ G) l* Y9 D  Q6 g相比上个上传bug,下面这个漏洞个人觉得更有意思
: {( w9 g3 c5 ]  _, S- N
' X3 n' t0 z+ N
+ t$ F. h0 u7 q1 d: ~# n% l' [. s* J( j! J* l9 X9 M
CKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。 , r- J- S$ B2 H7 \$ ^; i2 {. W) K

2 n- O" r- [6 ^) _& X2 QCKFinder ASP版本是这样处理上传文件的:/ h3 i9 z, @- k% q) I, w7 A5 I: F$ j( y
  b, C% V0 C( L, U& ^
当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。
8 [' C- _5 e4 P
" {- v$ F5 H9 F6 N8 P9 L$ A5 S( r8 o那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)
8 K8 K0 V! s3 s$ o5 z. R( A
% C/ o2 {0 @/ Y: _8 hdos方法也应运而生!* P/ c* O. {/ o$ O' S) t

2 ?: P$ N1 I( v4 ], V# e4 j' u' z
! u: U1 ~. z2 K8 t5 |) a7 c. ~6 ~9 I+ V* E
1.上传Con.pdf.txt
- w7 i7 D# o7 `- [' U, G7 ^2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。
+ n  K2 r% |  j  ?0 w" L) h/ n$ d# L+ I. y* J6 S
回复

使用道具 举报

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

本版积分规则

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