感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文% J& C6 }0 u4 R9 W+ E: b1 H
( L E* R$ n# @7 v) B0 P0 y
原帖:http://club.freebuf.com/?/question/129#reply12
7 n7 ^4 Z9 e' c% [& D% c5 a
" ]8 j* y7 w7 k% MFCKEditor 2.6.8文件上传漏洞( A2 i. N3 N( J. @' G
) p$ q: ?" f* \4 _2 q6 l# H& P( _
Exploit-db上原文如下:1 s h2 ]2 t/ R# r# t& V
9 S$ P/ `& W- y8 u0 A1 Z
- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass
5 ? n6 V. q) D/ C; k) ~; C5 L' E- Credit goes to: Mostafa Azizi, Soroush Dalili
8 z) n' `; L& H# p# f+ I% D- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/
. B6 p. I+ C( C, ]+ b$ U6 z: t4 I- Description:
1 L& N ^ z' I, a; |# o2 zThere is no validation on the extensions when FCKEditor 2.6.8 ASP version is& ^% e+ c5 r/ n8 E2 K
dealing with the duplicate files. As a result, it is possible to bypass
9 r1 D( }2 ^5 ]# d+ @the protection and upload a file with any extension.
0 O! L+ G! N2 O- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole// Q- H) f2 p, t0 ^; A/ s1 K4 C
- Solution: Please check the provided reference or the vendor website.
; R7 p$ m7 B0 I! ]+ d: p$ ~( g$ z0 O/ q
- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd7206 C+ n3 m% h& I- f! v9 x: z
"
! ^' q/ ^3 Q1 ANote: Quick patch for FCKEditor 2.6.8 File Upload Bypass:
2 i1 L" C1 A& S e n, r& {) d
& I6 n( C6 l0 E- YIn “config.asp”, wherever you have:2 ~; D7 e( n4 v4 R* h6 |5 T5 M
ConfigAllowedExtensions.Add “File”,”Extensions Here”
8 j* b# x9 Q4 O! zChange it to:
x7 D! B& G0 V2 e% t ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:, K' R6 ]8 R* P
; E: { Z( G, B1 b
1.首先,aspx是禁止上传的
8 {2 w8 N% ]; Y. Y2.使用%00截断(url decode),第一次上传文件名会被转成_符号
" G/ p ~/ @9 Z7 X0 V- w& ~) B" d; j. Y; W/ f) I- z; t% M7 |2 v
9 U7 e! I( t! J# a% }+ \. }! }# T, Y
" O0 e/ y H. U% W
接下来,我们进行第二次上传时,奇迹就发生了' x- l7 r' {3 e: h
( y9 u8 U) R1 g; a7 Q5 }: V
2 c( n# @' N7 A% S1 }/ r
$ X3 a6 A) o. o, g代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html8 w( U* s: R4 E" R! I+ l9 b
; H( |3 @0 T. `- s
( j" M: Q8 c( Q/ o; F
/ g; Z0 [# u$ r% |2 C* WCKFinder/FCKEditor DoS漏洞, F" H) L4 [3 H3 I" K* G
' e+ _4 o6 o2 q
相比上个上传bug,下面这个漏洞个人觉得更有意思0 @ |5 C( W7 Y2 ~9 g
! n# n) j( n' v7 l
. W8 |, J. ^3 i9 [2 K) I% L! e% C: I# ^7 C: W
CKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。
4 G) K0 S+ ~' t; F) L' F0 W# J9 L; R# J* E F
CKFinder ASP版本是这样处理上传文件的:
' n4 N2 h c, k5 I e o0 W* V( E- M |- S( b" j, f+ i. u
当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。1 W+ `* N: a0 i9 l* l. [* n$ `
3 c' y% s) [+ n y: ^- |, a$ n9 H* |
那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)
& d3 G& l; q/ }. _2 J
& f/ L7 N" @- i0 q: e3 C3 I3 {dos方法也应运而生!! N7 Q( P* V/ p8 i
4 {8 d; p5 n! S3 ]9 o
/ h, U3 {% ~& ~5 M. u8 I4 p! q4 {9 u" a7 I5 d+ l, K9 O }: z
1.上传Con.pdf.txt
- A, L' ~ P1 p P8 [- ]9 ^2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。; k! r8 t9 C% {( O* e: k3 g0 M
6 d$ l, [: K8 i5 R |