感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文+ Q: }. H( m* Q; g6 V6 l! _2 `. m
6 K: W7 X3 o) l& ^6 P' h原帖:http://club.freebuf.com/?/question/129#reply12
0 w. m. z- q2 z" k. N2 C- k0 R$ C! w( V
FCKEditor 2.6.8文件上传漏洞
6 |( M) D# O7 ^9 M
: G4 k5 X* h, v+ X9 B& H( K: ]3 T& yExploit-db上原文如下:
3 u' S4 g+ H6 e9 P$ S
& j3 x& l. G& ]# X2 R8 t- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass* F3 z8 b d" g( F" |: u
- Credit goes to: Mostafa Azizi, Soroush Dalili
7 c* Q% |% w" d: [. R) ~( Q* c# B9 p- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/
$ K% q0 `9 b" \0 n$ t. y; W3 f- Description:
4 m6 {: T2 ]: m) LThere is no validation on the extensions when FCKEditor 2.6.8 ASP version is
3 n7 n5 G5 ~4 h9 Sdealing with the duplicate files. As a result, it is possible to bypass
2 P5 ]$ A0 N( k3 Ethe protection and upload a file with any extension.
: B, ^% T( f6 b: `9 v3 N1 k3 j) V5 M' i- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/
# @7 Y1 ?( ?7 r# O9 w- Solution: Please check the provided reference or the vendor website.
5 E0 t B+ t# {3 V8 ]: x% e
+ p' R( b: g& k. \1 Z8 w- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd720
! B4 V( `& f2 I4 u" \2 B"5 A* f) G; E- I$ Z' [ P
Note: Quick patch for FCKEditor 2.6.8 File Upload Bypass:
$ s, d% M. q. K$ D& V# P! L" F8 |& S2 e) W8 {
In “config.asp”, wherever you have:3 Z$ F. f0 l' Y
ConfigAllowedExtensions.Add “File”,”Extensions Here”
5 m* V( h$ f* S+ BChange it to:
, k' R3 g" V7 l4 |; F ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:
- z4 x) d" g7 k' E! A p! E' K, X/ \. W0 d+ N
1.首先,aspx是禁止上传的8 _: a6 [- b4 b" {% B
2.使用%00截断(url decode),第一次上传文件名会被转成_符号& C! u( t/ A- ^
5 {% x7 S( X1 g, ?
2 W7 A, B6 h3 Z9 k4 X! p5 D+ c4 J" ~( O( B
接下来,我们进行第二次上传时,奇迹就发生了
# s- k8 I$ @ E6 I( o; s! W, Z' ^- b) |' K$ Z1 e3 O
; }% N$ f9 a, R; b2 y `8 {2 _" ^$ q; Q* x) j9 x0 G$ u
代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html9 D- r+ \0 R- K; d" _
* Y+ T3 e/ u& R3 q9 o6 l2 \
8 _, ^, `; r& _- _; R6 @
. A K& Q' K7 ^0 tCKFinder/FCKEditor DoS漏洞
3 b# S1 l, E& D' A: D# u a, q; m/ ]' Z( j3 w
相比上个上传bug,下面这个漏洞个人觉得更有意思0 R& h$ W; a, o4 ~ n9 O
; x* O3 G0 R* ?3 O# M8 f2 D5 q9 ^ + S" ^: R! o7 m1 A* m- a5 I( Q$ G
' d9 h' x0 N9 D# x3 c7 ]CKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。
0 }( Y, K, H9 C1 }% h5 Z5 T7 x3 e" [, _
# |' q& x. J) pCKFinder ASP版本是这样处理上传文件的:0 _( ~7 q0 S& O$ l
" s! d. U& G' h. j9 b
当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。
& `! L$ G3 m/ r) i' r" E
]+ Z5 A7 h- q; C/ j那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)5 b7 W- C4 C/ ?( s
, g4 s2 l( }/ C4 y% Z" U5 Gdos方法也应运而生!
" X1 Q% S' Z' w$ g. N
2 N4 B; X2 @/ n. k
, ~# z C9 O% y: O
$ b2 Q- [3 F, C" J8 g8 ~6 S5 \ x1.上传Con.pdf.txt
2 `& K$ I( k3 _% g2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。7 ^! d$ g4 }, }
% @. D% i& s& G/ I1 n0 @ |