感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文; ?& _ g4 b6 m. a
) w( q$ [ f; b# s/ ^原帖:http://club.freebuf.com/?/question/129#reply12* L, l- k& K: h" j2 ?
8 l y* t7 j# [: I' h' A1 F4 KFCKEditor 2.6.8文件上传漏洞6 c/ r) ]% A- j6 [
4 _7 l$ T( o( o/ N6 S4 sExploit-db上原文如下:5 e- t! E7 X0 v/ D X
1 H& q6 x( N m! y9 m" [
- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass! c9 I! ^! T5 o- Q, y. y
- Credit goes to: Mostafa Azizi, Soroush Dalili
! V, o3 I1 \9 R- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/) ]2 n1 I" l5 X) [5 h; s$ b
- Description:$ N, t4 J0 g& G" ^& }& i
There is no validation on the extensions when FCKEditor 2.6.8 ASP version is
2 `. l) g; K8 |2 @) M \dealing with the duplicate files. As a result, it is possible to bypass b! u$ u- [# H9 N) O; h7 ]3 t" ]: C
the protection and upload a file with any extension.2 d h( E2 l4 x! n6 z+ {+ g
- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/7 R6 _0 \2 [1 g% n8 h. W `9 l
- Solution: Please check the provided reference or the vendor website.
. ?: e! Z/ z7 z" q$ V( G
3 J6 Q; }& M) R( `1 Y% d" {3 v+ t- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd720
. c' j/ M( K+ u, L", E. z- P. W$ s2 w
Note: Quick patch for FCKEditor 2.6.8 File Upload Bypass:/ q1 t z" n$ i8 @
* ~0 F8 B# `$ Y8 H' D: w! a8 |! }- J+ OIn “config.asp”, wherever you have:4 v$ n3 @6 b6 M J8 P
ConfigAllowedExtensions.Add “File”,”Extensions Here”
V; v) E; \8 h, Q: iChange it to:! _! F% C8 K% c: @& {& ~+ f
ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:
- L- p9 k2 H7 E0 R4 z( Y- u# o8 G
9 j$ L% o y- r% I- R1.首先,aspx是禁止上传的/ G, q3 @+ U: y4 {; A
2.使用%00截断(url decode),第一次上传文件名会被转成_符号
8 z" `! {, F i* J7 E/ J- {
( Z$ H' b. f$ J: x; J
; U3 b% o/ a- }# }. ?5 O2 k1 X4 q; L. L0 c, A
接下来,我们进行第二次上传时,奇迹就发生了0 V( y5 d L, F/ ?- F
% ]( X8 A% D8 g6 ~# a- H$ m5 r7 J- b
' M% m0 A1 v! ^# j: m5 ^5 D代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html' |+ M" v. u( f
+ ~3 b N' }: B/ k# \
/ l& P1 I4 i0 d" b! a. c
+ @- _) W( k: S
CKFinder/FCKEditor DoS漏洞) n3 I4 q; D% S/ k
" F1 c6 R& _4 C
相比上个上传bug,下面这个漏洞个人觉得更有意思# d: h' c. x3 p% [
3 g f7 A. ^/ y! a. @% j5 R
: Y+ I8 U- E% }& Z% @, T2 j
- I' ~( y, p" U1 t6 Z) [/ ACKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。 0 D# Q" ]+ H9 U& b. P4 F% s
2 }# T x( ~; w, k9 p' ACKFinder ASP版本是这样处理上传文件的:$ V. F/ h$ w+ K7 E+ ~( L+ i7 y6 s
+ ^ ~6 M: v" R9 b$ E' G当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。& x9 S B, }+ r2 E( ]
9 ^& k& _ X. ~7 F那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下); R" M* V" }( B' \
0 ~+ a W2 K; d2 f2 @
dos方法也应运而生!
% g7 B# E0 {# d0 x4 C; m
$ a* I1 [* d+ k( H ) D0 ~5 E% y! O5 J @
, w- i- E4 T( ], r& T1 ]6 o5 g; h1.上传Con.pdf.txt" H8 {6 K5 }5 v- k9 B% G
2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。
! C h' v9 L: b6 o B/ ^0 q3 j4 \" D2 @) D1 k
|