感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文, m% r: X0 z# B/ x
3 X& g' f ?7 S, b
原帖:http://club.freebuf.com/?/question/129#reply12& s) Y- i& p8 G+ Q
2 [7 F/ _# k* X! L# f2 B" aFCKEditor 2.6.8文件上传漏洞
v/ T2 l, S0 L" D; W, h: j7 C7 F
3 t* c X2 Q1 r) `# lExploit-db上原文如下:4 y$ p& C7 c' v0 @7 p$ A6 P
& T9 G" m4 U& f/ l. a- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass
( U1 a1 |+ a* K) A) u9 v- Credit goes to: Mostafa Azizi, Soroush Dalili
& e3 d. w1 G5 @. q8 Y- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/
+ r7 @% g2 f2 L% a* U* D$ e- Description:
" U. m* X8 X& @# s. zThere is no validation on the extensions when FCKEditor 2.6.8 ASP version is
& t) ~2 q% O6 ~' O, `dealing with the duplicate files. As a result, it is possible to bypass
. m2 I3 C, M/ q6 j. ?* n* Fthe protection and upload a file with any extension.# c! I* P8 l2 P6 B/ u
- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/
; q" E8 Q4 E2 e; e4 a( d- Solution: Please check the provided reference or the vendor website.
: l9 z' Z' {9 ?! v% }2 X& c; q( h3 K# w5 H: v
- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd720
( ~: Z. u9 ?( S" [3 O# L' r": y9 z2 n( }; L7 _6 r" ^
Note: Quick patch for FCKEditor 2.6.8 File Upload Bypass:
' a- R9 B1 Y3 H# W' [3 {/ z4 H! F# L; Q
In “config.asp”, wherever you have:
! ~! f1 e2 x" |3 t ConfigAllowedExtensions.Add “File”,”Extensions Here”0 X) |8 W+ ]3 V+ z! i
Change it to:
8 e- s- S9 b, H2 L( d/ b4 v' i ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:
2 V0 g" c: Q: o- x+ N! i) C# X( c
/ D. ~. K2 j# M3 l' F1.首先,aspx是禁止上传的
6 @2 }% Y5 n3 f" c4 U2.使用%00截断(url decode),第一次上传文件名会被转成_符号
' ?7 G$ h! m3 n: f: F4 ?+ K3 T" m/ x* A3 S7 T
7 }$ l" D1 n1 d0 G" O
3 q m! Z1 K6 B' n5 c/ W, z接下来,我们进行第二次上传时,奇迹就发生了. h }/ b# j" M$ X0 \" N
4 v1 |! r8 D: y7 L. F7 H+ h$ J
I) @: [+ ^- `% k+ ]
2 R5 ~5 A5 A @& g( i7 d- a代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html+ q3 P( |+ b% T( a3 ?
6 H+ A; K. U2 i+ b
2 f' L! H8 n$ p: C6 S; l+ ~4 O$ e9 Q8 p8 y! u" v3 W. O
CKFinder/FCKEditor DoS漏洞
# P/ v9 \9 \: j/ E) L; P7 J- e8 T) x2 `* r- `5 E8 w. e, l
相比上个上传bug,下面这个漏洞个人觉得更有意思6 f2 h3 p# m$ j0 d8 W, q5 G( P
- W8 l2 u; s' x& | F" i2 |/ K$ t# v9 ?/ P
0 a( \, c( @2 N7 R" r( |# P
CKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。
4 H7 Z1 m+ s& ~
A/ Y8 s3 G" N0 [( pCKFinder ASP版本是这样处理上传文件的:
6 Y# Y4 z% l( n+ V# G" K
2 S0 E! L4 N8 U# E, c8 H+ q当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。4 J' f8 Q8 @, x# }
@5 B/ D/ o ?1 L9 z, I那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)# A. D0 x$ R8 u" [0 X9 _
1 D, H+ |9 a5 c: a& qdos方法也应运而生!( ~ d4 q' b! F
: P3 B* X" b/ S; a( O4 e + g& a- V5 @8 e0 z4 ]( s/ H. Q/ c
; H( ?+ f: e3 I# F; D% ^5 m/ A1.上传Con.pdf.txt
6 n6 |6 z' Z S+ B2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。
) ^4 x- \: w3 Q% U4 M, h9 e
: H& a1 d* V5 B9 }# y* n: B |