中国网络渗透测试联盟

标题: FCKEditor 2.6.8文件上传和CKFinder/FCKEditor DoS漏洞 [打印本页]

作者: admin    时间: 2012-12-10 10:20
标题: FCKEditor 2.6.8文件上传和CKFinder/FCKEditor DoS漏洞
感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文
) M8 ^6 [8 e' I) \! }  {' h+ b4 ^! E7 j5 t9 f7 w" E4 c1 p, W
原帖:http://club.freebuf.com/?/question/129#reply128 F3 ?( C5 K4 S- y" b
6 h+ t" G/ q4 g; V1 K. g' E6 l
FCKEditor 2.6.8文件上传漏洞$ ~1 @- ?5 o) h3 Z# i" D0 T, ~

1 C8 u% [: A# n4 S, g, fExploit-db上原文如下:
  Q% {' ^4 {5 t+ O, o
4 m  Q4 v4 @4 Q" U3 G% ]- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass/ d, P* S/ L$ S: a7 c+ u$ _* C
- Credit goes to: Mostafa Azizi, Soroush Dalili
. i% E* \) n: l/ W7 p- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/
- [; g  ?2 c8 q  b- Description:6 J4 {6 D6 u: `  _
There is no validation on the extensions when FCKEditor 2.6.8 ASP version is9 T/ L8 @4 j4 ~- r
dealing with the duplicate files. As a result, it is possible to bypass
% C9 a6 Z  e/ ^: t# {) Mthe protection and upload a file with any extension.
! G2 T" t: ?) _- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/
! P* H& q3 c; t6 r! o3 N- Solution: Please check the provided reference or the vendor website.8 l8 B$ G, R$ j+ w; U
6 V  ?" D. Z1 q* f% S/ L8 Q
- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd720
, y5 V5 p% R$ ^"
8 ?+ I. f1 G1 W) H4 {" \7 @  ^) z& \0 HNote: Quick patch for FCKEditor 2.6.8 File Upload Bypass:: g2 r! ?$ m3 k) a/ b

3 a( p' a# J% v! ?9 o1 _( H; rIn “config.asp”, wherever you have:& z' H+ b* L! L( \5 g
      ConfigAllowedExtensions.Add    “File”,”Extensions Here”' D" {/ ~6 f* J0 R
Change it to:, g! @1 A9 N+ @/ H
      ConfigAllowedExtensions.Add    “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:
% @4 f; v; |2 F) U+ n
% A, b' J$ c, q8 V* t# k1.首先,aspx是禁止上传的8 q# D/ J/ Y. ~- \0 _3 W
2.使用%00截断(url decode),第一次上传文件名会被转成_符号+ h0 @) s8 C" c0 k2 H! I8 d: D
3 y" h: F4 J! M

% o5 g/ X# f. B$ D7 ^3 x! k  N) M* V6 ^' `7 m
接下来,我们进行第二次上传时,奇迹就发生了1 ?+ c6 r# s  ~) r; N2 S

, M# E) Y$ f; b0 c2 k& Z( I3 H( b
, @* x8 E& j" h3 z8 |- L' d
) {. o. u( W4 R8 q2 y) n3 g代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html
3 m% X% Z9 _+ @4 D' k: i! P- J) q) X7 a: {( H( |& I- X
" V! l: q1 d' h3 }5 Y! N; H
% t% f( K' u1 h
CKFinder/FCKEditor DoS漏洞  G* j1 _/ y& Y& n& C* v

5 b; k. p9 C( r+ i+ p: l+ [相比上个上传bug,下面这个漏洞个人觉得更有意思
6 s& l/ O& u0 D  v# U$ N
0 v1 ]: i8 h$ T- }+ }
8 I/ e  z+ G2 \) F- O1 z+ ^" y& b% @/ w2 x2 F
CKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。 ! s2 @+ |$ N8 w5 ?
: }: l1 `$ I( X; K8 l
CKFinder ASP版本是这样处理上传文件的:
9 b  y, _4 c; H8 a& W8 J1 m4 Q9 |5 G; }. @! I6 d6 U+ _( \
当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。
: |4 U2 V6 ?5 _9 m* W7 n' S' r8 F1 D. ^+ _
那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)$ N& I% R' }! O

& n7 k) P' H, N; Ydos方法也应运而生!: ?+ \4 e) m; n+ |

  O& A; V9 |/ p- W3 a 7 |; z2 \9 u3 p+ S- _

7 X1 @2 j# N, [" ^' `1.上传Con.pdf.txt) i4 f3 A' \5 `# V7 l, h+ Z3 k
2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。
- n; _+ U6 l; i& A1 `
2 \3 x+ d- f7 P5 R




欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/) Powered by Discuz! X3.2