感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文) V: ^, s. X' R/ ^/ o
' q' _0 z% c% _! H原帖:http://club.freebuf.com/?/question/129#reply12( H& b! v) ` }- y! X
0 L+ S7 q' j E0 J
FCKEditor 2.6.8文件上传漏洞" K$ L3 N, z3 k+ |
4 t$ O1 |: w% ~" ?" f
Exploit-db上原文如下:
0 B k7 W+ p; F( n$ C+ v; w% M: C2 L7 Y% |$ O0 ]
- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass
5 a8 z2 N: D5 j3 v/ m- Credit goes to: Mostafa Azizi, Soroush Dalili) _$ y% W1 s0 f% Q
- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/! r3 Y* d* ^! r
- Description:
2 A9 t# p) S: w" ~! g. A9 sThere is no validation on the extensions when FCKEditor 2.6.8 ASP version is
6 C% Q- H. ~; b9 ^dealing with the duplicate files. As a result, it is possible to bypass) D1 i7 _9 G& F7 e
the protection and upload a file with any extension.2 k( M+ z* ]5 F- h D7 H4 j
- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/
% }: z. k% K4 @, a- Solution: Please check the provided reference or the vendor website.
# }/ ~1 u$ c% z7 K3 ]" O: E# ^- Q b: g5 I) W( m: l. u0 v( a
- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd720- e4 N+ t' Q4 b/ m5 I: P. R% {
"
% S' Z7 D; v0 m5 D9 u _Note: Quick patch for FCKEditor 2.6.8 File Upload Bypass:
$ y" p f9 p. k' p9 W0 w) j* Z6 ^8 O# P' H( Y0 u
In “config.asp”, wherever you have:
: ]6 W& a. ~6 p+ w ConfigAllowedExtensions.Add “File”,”Extensions Here”
; K" S3 I. h. v. o: uChange it to:8 B& z' b; t9 g! R" Z' W8 l
ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:% @7 c% x) F! q! `; `! ^ @
4 ^& z" M$ r. }+ e8 b% Z7 l1.首先,aspx是禁止上传的
# i5 l" j$ t0 {/ O& {1 C2.使用%00截断(url decode),第一次上传文件名会被转成_符号) m7 M* ?; y" M# {
; j- Q2 y: m4 y, z
9 S/ U8 ?1 f0 ^ w& i7 s3 Y9 J* k$ {3 N5 Y
接下来,我们进行第二次上传时,奇迹就发生了
Y, c3 S- G1 } I9 ~6 S E3 i1 z# h% W
3 I8 `- R O" O2 c# b! r& E: C
8 P& \; ?: r5 ~/ l8 [
代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html# N6 A7 U, P' I% `9 z
2 P% V0 k5 S# Y- Q) c
% m4 t {2 f9 y* t( i, U
7 u# D" Z8 R' F6 |4 q' YCKFinder/FCKEditor DoS漏洞
3 h6 b" a0 _, P4 C
: y" W: S# b+ v& h" n, R! {相比上个上传bug,下面这个漏洞个人觉得更有意思: H9 ^$ D- o( V/ t/ E/ r
/ }8 M) Z6 v4 T
; v1 b6 }, ~ Q+ h$ Y& _# \3 N9 d# T% l; s( ]! Y$ b: t2 x
CKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。
3 O! X8 ^+ ]8 M1 W# d! B2 m4 k- f/ v& Y$ A/ b/ B& D. y
CKFinder ASP版本是这样处理上传文件的:) i) C5 P4 Q1 Q
, |: d4 p, Y# B- f' O
当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。, r& J8 Q7 D7 X
$ z2 L% S# e8 R4 J& k
那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)
& G1 ^8 M# \/ ]! m; u" c8 `- w+ t7 k3 q# P u% e
dos方法也应运而生!) g T) h D) v0 @4 F% [: G$ G
* N, p$ S. P; ~
& s# f8 t3 c6 Q7 _( D8 ?2 A. G6 i, Z) C E: w
1.上传Con.pdf.txt
0 }7 i8 T1 k) t- C3 x1 m2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。, J, r' l% m7 D$ |
2 f+ W1 A7 F7 L/ ?+ B, c' W) A
|