感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文
5 o5 }. r8 f+ F6 `6 q+ z: B: |+ m e9 }- m3 r b
原帖:http://club.freebuf.com/?/question/129#reply12
X- M ~" A/ n; F. Q% ]- X/ }3 ~% b% y9 Z' ?6 k
FCKEditor 2.6.8文件上传漏洞6 J# B+ o1 ?: O& A9 H
! E* \; |4 j+ ]# w" v; n+ N: W0 I( @
Exploit-db上原文如下:
/ P" e; r1 k% p9 @* N n2 `8 m. S4 @' Z. O2 j) F0 U
- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass$ T* }5 s( W) L9 n
- Credit goes to: Mostafa Azizi, Soroush Dalili, f$ p# Y( t, ?) D7 j: R
- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/1 X0 U4 z# c5 h
- Description:* t) `' u% B `% z8 S
There is no validation on the extensions when FCKEditor 2.6.8 ASP version is
/ `8 A+ q; n( H2 m1 ~) C$ Hdealing with the duplicate files. As a result, it is possible to bypass( r5 ?) @$ l3 `" c# [# M& v
the protection and upload a file with any extension.
' C" x: l: B, v( M- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/
0 @+ n+ q, r. ]) Y/ A- Solution: Please check the provided reference or the vendor website.
! i2 m, N w1 K% g- L2 W$ u# E( Y- H# D( H5 t O% F2 _
- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd720
. K- h" @; U% x5 a5 c" x) T"8 y8 Q8 s& L0 ]% _9 E$ d# `) Q
Note: Quick patch for FCKEditor 2.6.8 File Upload Bypass:9 A' n5 _2 ]& I+ L3 v2 w K
: t3 | j9 G4 ^, z# ^: w0 k
In “config.asp”, wherever you have:
& D4 b9 O' N% d/ @ ConfigAllowedExtensions.Add “File”,”Extensions Here”" x# n# n# B# B* x+ |. ^( Y5 y
Change it to:1 v# a' R/ {0 z( r. C$ |3 p; y
ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:
. T2 q' c$ c P( W) L2 @- u# w" X$ z1 u7 u
1.首先,aspx是禁止上传的
o* Q( P n, }5 J" u$ Y4 p! z* y% v5 M2.使用%00截断(url decode),第一次上传文件名会被转成_符号
) g( @% S2 M: E" e/ r0 D7 [. o4 T4 I. Q
+ z( j( P( r4 k( w: U9 H- w( F
8 I- N# N% K# S0 n. i _
接下来,我们进行第二次上传时,奇迹就发生了3 `5 w7 v" N' B" X6 S* i* n8 N4 G
N! n7 Q7 U! o1 `( w
. }# o+ }* D Z- @
- l! i$ r) U$ e3 J代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html0 f }$ P4 O$ {* U9 U7 p7 A4 v
- w/ ]2 V1 j/ P
9 D, C+ B6 u3 _ ]! i' d
- e3 }' i. ~# B6 I; {CKFinder/FCKEditor DoS漏洞9 T" i. N6 ^! q
1 \8 }) h6 B6 ]$ ]相比上个上传bug,下面这个漏洞个人觉得更有意思
" [3 |+ C2 @3 v: A# N- x: }: K$ q( ?' l
l) m, n6 t6 J# ?0 F
6 p- K% H+ q. P( K1 o. k1 B: uCKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。
! J) g+ L7 ]: j6 S
; Y6 i8 \, f2 }8 A! T* K. GCKFinder ASP版本是这样处理上传文件的:0 n ]( \7 {# k
" A9 ^! t7 x2 q1 I, e1 Q; y当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。
! k: }! ~- T, q6 P6 T* M; \" O w* X( F# _3 E0 V% l
那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)7 s- Y" D, j7 {1 D6 Q& H
7 K& [: v; G$ M9 h; H! G& @8 x1 k
dos方法也应运而生!
! o9 h* j5 l9 S, J
. b7 P' D6 E: Q' k- o+ ?* }1 c/ D$ x : {$ p3 |7 v! _- _; Z' d2 F, s6 `
5 S# X3 ]2 L7 I- [. S3 ^* C# W
1.上传Con.pdf.txt9 z/ B/ @, h: H. }4 O
2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。
0 m* e, l q' Y3 d ?8 A5 \3 s& Y* `! Z# H$ [; Z
|