感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文- ~& v" [7 x+ y* [, {& e2 m
# x$ v3 `+ I- _/ T; r
原帖:http://club.freebuf.com/?/question/129#reply12
, M# q; h; O) B3 b5 \+ J! k$ |( s/ c p% g& N
FCKEditor 2.6.8文件上传漏洞5 b- S2 q) g6 \0 P+ _6 a
! d% O3 S9 Z! L1 x# w1 }; \ D
Exploit-db上原文如下:8 c4 Z5 c5 _9 V
n1 j0 J6 W! [; _- ]- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass
. I' U! u. {$ I$ T' X2 X" F- Credit goes to: Mostafa Azizi, Soroush Dalili: L, Q; g0 a$ [: z5 c: d
- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/
8 F7 ~+ E4 }( v0 j: j- Description:
0 S- ?+ m7 ^- |- d2 A3 X) @There is no validation on the extensions when FCKEditor 2.6.8 ASP version is0 m9 l# n% f9 l3 q ]% y
dealing with the duplicate files. As a result, it is possible to bypass6 E0 r# E" ?6 ]; g
the protection and upload a file with any extension.
# [! D6 ~8 v- x C& G4 J8 p- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/
% Z0 Z& H4 _" _2 r0 J- Solution: Please check the provided reference or the vendor website.% E2 u% b% W/ V4 Y0 t2 a
7 r; d5 G( v# q" L) i+ c- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd720
( a- @% K3 }* v8 R+ z1 d$ j* o"
9 B* y1 S+ w8 N7 X7 n( I- INote: Quick patch for FCKEditor 2.6.8 File Upload Bypass:* ^. c8 l3 ]& q' o
0 b- W5 T& b9 P2 O: I1 |; {
In “config.asp”, wherever you have:: P# K" O4 V8 R* o
ConfigAllowedExtensions.Add “File”,”Extensions Here”" V; B* J( [; M2 T/ v! k- u
Change it to:4 a5 D1 v. f9 u R5 v' t" h5 r, p
ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:
% d8 I4 F+ _/ t4 f* v" a% M' }8 M/ h3 o9 F0 e
1.首先,aspx是禁止上传的1 `' B4 |5 \, S. o0 G! t" Q
2.使用%00截断(url decode),第一次上传文件名会被转成_符号/ a. M* R& {( H6 B
w' Z. b& J8 \1 y, c
7 B* A! ]4 b! u& K7 T1 Z% L( L/ H0 p S5 |
接下来,我们进行第二次上传时,奇迹就发生了& q& s" B- b& ?' U$ g0 H
$ v& y9 V& p! n! H4 t, q* X
* U6 ]! N$ B$ H0 x# f1 b. U% y2 f9 E) q
代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html1 b8 c1 B; C! {) d+ _$ N
* b) N% Z0 H2 _1 |5 C
$ Y' U! P% D+ a" g& {2 O1 y. {5 }- X
CKFinder/FCKEditor DoS漏洞
) Q" M- s/ ^2 ^0 t, {1 L0 t4 w) z" t; S6 A
相比上个上传bug,下面这个漏洞个人觉得更有意思; \1 I& }2 t% a- y8 A$ F v
9 x. F' @/ v8 i, `- l0 ~% ^
9 g. R/ V$ S, c- K7 {8 t8 }# Z6 D2 [9 W( Z6 z' @
CKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。 ' s5 A$ D$ T. `# r% `( m7 V
" k$ q; M. o- ]( z& _+ \& {! h
CKFinder ASP版本是这样处理上传文件的:
# j& V3 i7 x& B
) _$ g$ U2 ] U/ k' w当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。' d* |0 F( Z: A& M- k; U; l
8 d- k4 G" c' U4 z1 B( q' b那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下); [# G) O1 h$ K8 }4 }: W
# E- F4 ]! h2 T; Qdos方法也应运而生!( ^+ K6 A; E, A" W5 R: L) R% h
# K% M7 w f+ S# J) p( R/ o
# t, r/ ~- z6 K1 r" Y
3 P& ]9 U: r" ?9 Q5 \" M1.上传Con.pdf.txt
5 M, I" n4 E& @, z, r2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。
X- J* W7 d7 J% R0 O4 A% o+ I/ ~- G+ e
|